我已經設置了許多類型的索引,代表用戶數據,如ShoppingList,Playlist等。每種類型都有一個用於用戶唯一標識符的「identity_id」字段。我用下面的查詢(在一個網站的搜索功能)所有類型和字段搜索用戶:在_all上使用全文搜索時,如何爲特定字段名稱的Elasticsearch匹配評分更高?
GET _search
{
"query": {
"filtered": {
"query": {
"match_phrase_prefix": {
"_all": "awesome"
}
},
"filter": {
"match": {
"identity_id": 1
}
}
}
}
}
我的問題是:
- 有沒有辦法給出一個更高的得分以匹配字段名稱中具有「名稱」的字段?例如,ShoppingList類型將有一個shopping_list_name字段,並且我希望該字段的匹配高於其他字段。
- 上述爲特定用戶(查詢然後篩選)進行全文搜索的方式是最有效的方式嗎?如何爲每個用戶創建索引?
任何有興趣,我結束使用此代替:http://stackoverflow.com/questions/37082797/elastic-search-edge-ngram-match-query-on-all-being-ignored – Kevin