1
我正在使用elasticSearch 2.2 whith索引我無法輕易更改映射,我希望根據關鍵字執行一些搜索請求。在數組字符串字段中修改ElasticSearch得分?
這裏我的字符串數組字段的映射 「關鍵詞」:
"keywords": {
"type": "string",
"norms": {
"enabled": false
},
"analyzer": "analyzer_keyword"
"analyzer_keyword": {
"filter": "lowercase",
"tokenizer": "keyword"
}
我想用喜歡它BOOL請求與POST進行查詢:
{
"query":
{
"bool" : {
"should" :
[
{
"term":
{
"keywords": "foo bar",
}
},
{
"term":
{
"keywords": "baz",
}
},
{
"term":
{
"keywords": "qux",
}
}
]
}
},
"highlight": {
"fields" : {
"keywords" : {}
}
}
}
我希望最佳的點擊率是包含關鍵字最大值的點擊率。
- {ID:#x中,關鍵字:[ 「FOO欄」, 「巴茲」]}
- {ID:#Z
排序得分我希望此請求命中實施例,關鍵字:[ 「FOO欄」, 「qux」]}
- {ID:#Y,關鍵字:[ 「qux」]}
- {ID:#W,關鍵字:[ 「巴茲」]}
但相反,我有這樣的結果:
- {ID:#x中,關鍵字:[ 「FOO欄」, 「巴茲」]}
- {ID:#Y,關鍵字:[ 「qux」]}
- {ID:#Z ,關鍵詞: 「富巴」, 「qux」]}
- {ID:#W,關鍵詞: 「巴茲」]}
你有一個想法,能不能幫我去管理它?
對不起,我英語不好,謝謝你的幫助。
感謝您的回答。 Boost在這種情況下不能幫助我,我想。我想按關鍵字匹配數排序。 –
的確,我誤解了這個問題,並認爲你想根據查詢中標籤的偏移量進行排序,我已經編輯了我的答案。我今天對評分系統瞭解很多,謝謝:)。 – Pandawan
它效果更好,但我總是有一些錯誤。我會暫時堅持這一點,並嘗試後者。 感謝您的回答! –