2017-07-21 2 views
0

Ich habe ein Azure-Index von „locations“ erstellt, die jeweils mit einem Namen, Adresse, Geographie :: POINT usw.Strategie für geo Entfernung in die Suchergebnisse enthält mit orderby

Dieser Index in unseren Azure verbunden ist Suche, die wir innerhalb einer Google Map verwenden. Mit der aktuellen Position der Karte experimentierte ich mit der Geo-Distanz-Funktion von Azure Search.

Im Idealfall könnten wir eine glückliche Balance zwischen dem Standort, nach dem der Benutzer sucht, und der Nähe der zurückgegebenen Standorte haben. Beispiel: Ich suche nach McDonald's, und die Ergebnisse werden basierend auf dem McD's sortiert.

Mein Verständnis ist, dass ich $ orderby = geo.distance [...] verwenden muss, aber ich will nicht, dass Entfernung der einzige entscheidende Faktor für Ergebnisse ist. Wenn ich jetzt nach "McDonald's" suche und eine geografische Länge/Breite eines anderen Ortes in der Nähe (zB KFC) passiere, wird das erste Ergebnis KFC und nicht McDonald's sein.

Muss ich ein Scoring-Profil einrichten, oder gibt es einige Ordeby/Filtertricks, die ich vermisse?

Antwort

1

Wenn Sie mehrere Relevanzfaktoren berücksichtigen möchten (z. B. Textrelevanz, Entfernung, Aktualität usw.), sollten Sie ein Scoring-Profil einrichten.

Während Sie orderby mehrere Felder können, ist es wahrscheinlich nicht das, was Sie für dieses Szenario wünschen.

Weitere Informationen zur Verwendung der Bewertungsprofile finden Sie unter Azure Search scoring profiles reference.

Verwandte Themen