elasticsearchに数値フィールドのみで表されるオブジェクトを格納しようとしています。私の場合、各オブジェクトには300の浮動小数点フィールドと1つのIDフィールドがあります。 idフィールドをnot_analyzedとして配置しました。私はESに文書を保存することができます。elasticsearchの数値フィールドのみを使用した文書の索引付け
"_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)次に、私はfunction_scoreのESの機能を試してみましたが、これを試しましたが、最大一致スコアは0.0です!
私は何を使うべきか、[2]で何が間違っているのかについてのコメントです。
私はそれを実行しようとしていたとき、私は次のエラーを取得する:原因=「%R」%自己。文字列のインデックスが整数でなければなりません –
"origin"と "scale"の値から二重引用符を削除するとこのエラーは発生しません。 –
興味深い。私はこれを5.3でテストし、Kibana開発ツールからクエリを送信しました。 –