配列を含む Elastic Search でドキュメントのインデックスを作成しています。
サンプル文書:
doc1:
{
...
actors: ["Tom Cruise", "Brad Pitt", ...],
...
}
doc2:
{
...
actors: ["Brad Pitt", "Tom Cruise", ...],
...
}
このようなドキュメントを検索する場合、配列内の一致する位置に依存するスコアが必要です。つまり、サンプル ドキュメントでは、"Tom Cruise" を検索すると最初のドキュメントがブーストされるはずです。doc1
これは、一致する位置が であるためです1
。
私が今考えることができる唯一の解決策は、最初のアクターを含む限られた数のフィールド (5 のようなもの) を追加し、次のようなブーストを配置することです。
doc1:
{
...
actors: ["Tom Cruise", "Brad Pitt", ...],
actor1: "Tom Cruise",
actor2: "Brad Pitt",
...
}
、、などactor1
のブーストがあります。5
actor2
4
おそらく使用して、それを処理するためのより良い解決策がありcustom_score
ますか?
ありがとう !