ElasticSearch で誤った結果を返すロケーション クエリに問題があります。
ビジネス検索エンジンである私たちのシステムでは、すべての検索は、場所とクエリ文字列の 2 つの入力を受け取ります。
q=sushi
location=Greenwich Village, New York, New York
検索で最初にグリニッジ ビレッジの寿司を表示し、次にグリニッジ ビレッジ以外の寿司を表示して、寿司以外の結果を表示しないようにします。
問題は、このlocation
クエリのせいで、グリニッジ ヴィレッジ内のすべてのもの (弁護士、医師など) が一致することです。ElasticSearch に次のように伝えたいと思います。
q が一致する場合、場所は必須ではありません (グリニッジ ビレッジ以外の寿司を返すことは問題ありません) が、場所が一致する場合は、q も一致しない限り返さないでください (グリニッジ ビレッジの寿司以外の店舗を返すことは問題ありません)。 .
誰でもこれを行う方法について何か考えがありますか?