2 回答

TA貢獻1820條經驗 獲得超10個贊
也許是這樣的:
GET index/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "ipsum",
"fields": []
}
},
{
"match": {
"type": "cq:Page"
}
}
]
}
}
}
"fields": [] -> meaning all fields

TA貢獻1829條經驗 獲得超13個贊
它使用matchPhraseQuery而不是 matchQuery 來工作。我的值是“cp:Page”。
在這種情況下,僅當該術語的值與其索引中的值完全相同時,matchQuery 才會返回文檔(并且在查詢時沒有使用分析器)。
另一方面,matchPhraseQuery 也會在查詢時使用默認分析器,因此查詢中的值在分析器更改后將與索引值相同。
可以按查詢、按字段或按索引指定分析器。在索引時,Elasticsearch 將按以下順序查找分析器:
字段映射中定義的分析器。索引設置中名為 default 的分析器。標準分析儀。在查詢時,還有幾個層:
全文查詢中定義的分析器。 search_analyzer 定義在字段映射中。字段映射中定義的分析器。索引設置中名為default_search的分析器。索引設置中名為 default 的分析器。標準分析儀。
添加回答
舉報