スコア計算について


(Yuji Kumada) #1

いつもお世話になります。

Elasticsearchの検索スコア計算について、アドバイスをお願いします。

Elasticserach ver.1.4.1

TF(Document内のTermのマッチ率)
IDF(INDEX内の全Documentに対する、Termを含んだDocumentの比率)
DocumentのLengthがより短いもの
50音順
Boost

より、スコアを計算し検索結果をソートしていると考えておりますが、
検索キーと検索結果が以下のようなパターンが出ており、上記の条件と合致しないように見えます。
スコア計算に影響のある設定はない状態です。

キーワード:
SCORETEST

検索結果
SCORETESTCABLEKIT
SCORETESTPIOS ←①
SCORETESTMODB512M
SCORETESTPI1CALCA
SCORETESTPI3CALCB
SCORETESTPI2CALCB ←②
SCORETESTPI1CALCA ←③

アナライザ:bigram

① キーワードSCORETESTに対するTFは検索結果下位の"SCORETESTPIOS"が高いと思います。
"SCORETESTPIOS" はLengthが検索上位の "SCORETESTCABLEKIT" より短いため
検索結果は上位に上がるのではないでしょうか。

② キーワードSCORETESTに対するTFは同様と思います。
次に、”SCORETESTPI2CALCB” は ”SCORETESTPI3CALCB” より50音で考えれば早く
検索上位に上がるのではないでしょうか。

③ ②と同様

TF・IDFその他条件に対する理解が不足している場合、指摘していただければと思います。

何卒、よろしくお願いします。


(Jun Ohtani) #2

Explainを使うとスコアの計算が詳しく表示されるので、まずはそれを見てみるのはどうでしょうか?

あと、クエリにはどんなものを使用しているのでしょうか?

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/search-request-explain.html


(system) #3

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.