私はES 1.4からES 2.3にアップグレードしており、ドキュメントのスコアリングをテストしている間に同じクエリのExplain APIの出力の違いに気づいた:ES 1.4とES 2.3のAnalyzer APIを使用して異なる位置値を取得
{
"value": 0.9890914,
"description": "fieldWeight in 3931, product of:",
"details": [
{
"value": 5.8309517,
"description": "tf(freq=34.0), with freq of:",
"details": [
{
"value": 34,
"description": "termFreq=34.0",
"details": []
}
]
},
{
"value": 5.428089,
"description": "idf(docFreq=117, maxDocs=9885)",
"details": []
},
{
"value": 0.03125,
"description": "fieldNorm(doc=3931)",
"details": []
}
]
}
とES 1.4.2から私が手::
{
"value": 0.9319723,
"description": "fieldWeight in 403, product of:",
"details": [
{
"value": 5.8309517,
"description": "tf(freq=34.0), with freq of:",
"details": [
{
"value": 34,
"description": "termFreq=34.0"
}
]
},
{
"value": 5.114622,
"description": "idf(docFreq=226, maxDocs=13899)"
},
{
"value": 0.03125,
"description": "fieldNorm(doc=403)"
}
]
}
0私が手ES 2.3.0から
{
"query": {
"match": {
"article_content": "news"
}
}
}
curl -XGET 'localhost:9200/new_index/_analyze' -d '{
"analyzer" : "custom_text_analyzer",
"text" : "...."
}'
をし、ES 1.4.2のために、私は
を使用:ES 2.3のために私が使用:私はそうAPIを分析し使用していてもすることを確認し、私のcustom_analyzer
と間違って何かがあるかもしれないと思いましたES 2.3.0 0123について
:
curl -XGET 'localhost:9210/new_index2/_analyze?analyzer=custom_text_analyzer' -d '...'
両方の呼び出しがトークンの同じ数をもたらし、唯一の違いは、"position"
の値でしたES 1.4.2
{
"tokens": [
{
"token": "show",
"start_offset": 0,
"end_offset": 4,
"type": "<ALPHANUM>",
"position": 1
}, ....
については
注:インデックスの両方がカウント数と内容は同じ文書を持って
。
私がテストした文書には、289個のトークン
カスタム・アナライザは、両方のインデックスに同じであるがありました。 (私は2回チェックしました)
私はちょうど問題になる可能性についていくつかの洞察をしたかったですか?
返信いただきありがとうございます。私は、es 2.3と1.4も削除された文書がたくさんあることに気がついたので、まったく同じにするために、私はそれらの両方を最適化しました。両方とも300,000のドキュメントを持っているので、時間がかかりませんでした。しかし2.3の場合でも 'idf(docFreq = 108、maxDocs = 9543)'を得て、1.4では 'idf(docFreq = 226、maxDocs = 13899)'を得ています。他に何かありますか? –
これで、両方のインデックスで削除されたドキュメントが0になりました。 –
はい、私はそれを見ることができます。 –