地理空間データを格納するために弾性検索を使用しようとしています。しかし、私は、関連性スコアがポイントからの距離とテキストマッチングクエリに基づく関連性の組み合わせであることを望んでいます。たとえば、クエリがYellowstone National Park
ですが、発信元はシカゴにあるとします。 Yellowstone National Park
は減衰スコアが0に近く、結果にまったく表示されないため、合理的な距離と減衰のために、シカゴのPortage Park
が一致する可能性が高くなります。私がしたいのは、一定の距離を越えてすべての結果が同じに見えるように、減衰スコアにフロアを設けることです。私がやりたいのは何ElasticSearchで床をガウス減衰関数に設定するにはどうすればよいですか?
queryBuilder = new FunctionScoreQueryBuilder(queryBuilder).add(
ScoreFunctionBuilders.gaussDecayFunction("search_geo_point", point.get(), "10km")
.setDecay(0.75)
.setOffset("5km"));
は同じように、原点から30キロを言うよりも大きくない、と何の減衰関数を持っているすべてのポイントを扱うです:
は例えば、ここで私が持っているJavaコードですそのポイントを超えてスコアを減らしてください。これは可能ですか?問題は、特定の距離を超えて減衰関数が関連性を大幅に減少させ、クエリがテキストフィールドと完全に一致しても結果には表示されないということです。