数値フィールドのみで表されるオブジェクトをelasticsearchに保存しようとしています。私の場合、各オブジェクトには 300 の float フィールドと 1 つの id フィールドがあります。id フィールドを not_analyzed にしました。ドキュメントをESに保存できます。
"_index": "smart_content5",
"_type": "doc2vec",
"_id": "AVtAGeaZjLL5cvd8z9y7",
"_score": 1,
"_source": {
"feature_227": 0.0856793,
"feature_5": -0.115823,
"feature_119": -0.0379987,
"feature_145": 0.17952,
"feature_29": 0.0444945,
しかし今、同じ300個のフィールドで表現されたクエリを実行したいと思いますが、数値は異なります(もちろん)。ここで、300 個のフィールドがこのクエリ フィールドに「最も類似」しているドキュメントを見つけたいと考えています。つまり、コサイン類似度を行うようなものですが、これを行うためにESを使用して高速化しようとしています。
(1) まず、私がやっていることをすることさえ可能ですか??
(2) 第二に、私は ES のfunction_score機能を調査し、それを使用しようとしましたが、最大一致スコアが 0.0 であることが返されます!!
[2] で何を使用すべきか、何を間違っているかについてのコメント。