Ich versuche, Suchfunktion auf meiner React App zu machen.So machen Sie Suche mit "enthält" mit DynamoDB
Ich habe diese DynamoDB Tabelle:
---------------------
movie_id | movie_name
---------------------
1 | name a
---------------------
2 | name b
---------------------
Ich möchte eine Suchfunktion, um zu suchen, „b“ auf der Sucheingabe des Reagieren App und „name b“ von der DB als Ergebnis erhalten.
Ich habe versucht, query
mit CONTAINS
, aber hat nicht funktioniert und scheint nicht ein geeigneter Weg, es zu tun.
Was ist der beste Weg, um Suchfunktion in meiner React App mit DynamoDB zu erstellen?
Ist es sogar sinnvoll, eine Abfrage mit dem Suchschlüsselwort auszuführen, um zu prüfen, ob die Daten einen Schlüsselwortwert enthalten?
Sie so viel Dank! Es klappt! Eine weitere Frage tho, ist dieser ideale Weg, um Suchfunktion zu bauen? oder gibt es einen besseren Weg, dies zu tun? – Ohsik
@Ohsik, Suche mit "enthält" wird nie optimal sein, da es immer einen vollständigen Scan der Tabelle erfordert. Dies kann zu Leistungsproblemen führen, wenn Sie viele Daten haben. Die Überprüfung, ob der Name "beginnt mit" ist, kann jedoch mit der API "query" verwendet werden und von Indizes profitieren, wodurch die Leistung erheblich verbessert wird. Aber offensichtlich "beginnt mit" ist anders als "enthält". – Zanon
@Ohsik, wenn Sie "contains" mit Millionen von Zeilen verwenden müssen, schlage ich vor, dass Sie nach [Elasticsearch] (https://aws.amazon.com/elasticsearch-service/) Integration mit DynamoDB suchen. – Zanon