Ich möchte mit Algolia eine intelligente Suche aufbauen. Der Punkt ist, Schlüsselwörter zu verwenden, um die Ergebnisse zu ordnen. Nehmen wir an, der Benutzer gibt "smarphone blue cheap good camera" ein. Dies sollte alle blauen Smartphones finden und nach Preis und Kameraeigenschaften ordnen.
Die Idee ist, diese Schlüsselwörter irgendwie einer Rangliste zuzuordnen.
Weiß jemand, ob es mit Algolia möglich ist und wenn ja, wie kann man das gewünschte Ergebnis am besten erreichen?
Antworten:
2 für die Antwort № 1Zum automatischen Erkennen und Filtern nach Facettenwerten (wie blue
, good camera
), Du könntest benutzen Abfrageregeln, bestimmtes Dynamische Filterung.
Dies sollte jedoch nicht unbedingt erforderlich sein color
(enthält beispielsweise die blue
Wert) und characteristics
(enthält beispielsweise die good camera
Wert) Attribute in Ihrem searchableAttributes
list, dann gibt die Suchanforderung relevante Ergebnisse basierend auf der rein textlichen Relevanz dieser Attribute zurück.
Auf der anderen Seite haben Sortierstrategien Auswirkungen auf dieAlgolia-Indizes zum Zeitpunkt der Erstellung, um die Sortierstrategie basierend auf der Abfrage zu ändern (z. B. Sortieren der Ergebnisse nach aufsteigendem Preis, wenn die Suchanfrage enthält) cheap
), Du wirst Sie müssen einen neuen Replikatindex einrichten, dessen Ergebnisse nach Preis sortiert werden. Beim Erkennen eines relevanten Schlüsselworts (z. B. cheap
) können Sie die Suchabfragen auf den Primärindex oder auf das sortierte Replikat umstellen.