0
此使用是一個代碼Elasticsearch含義必須multimatch
GET /news/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "France and Luxembourg",
"fields": [
"stkno",
"tag",
"content",
"htext"
],
"operator": "and"
}
},
{
"range": {
"CDate": {
"gt": "2017-05-23T14:02:11",
"lte": "2017-05-24T23:59:59"
}
}
}
]
}
},
"from": 0,
"size": 100,
"sort": [
{
"CDate": {
"order": "desc"
}
}
]
}
使用上面的命令後,打總爲2分的記錄。但其中一個確切地說'法國和盧森堡',另外一個'法國'。
我的問題如下:
- 已經使用了「必須」,爲什麼沒有隻顯示確切詞「法國和盧森堡」?
- 運營商的目的是什麼?我已經讀過elasticsearch,但真的不明白,你能解釋一下嗎?
重新編輯:
我一直在使用如下編碼嘗試,但結果變成空的。 enter code here
POST _search
{
"query": {
"bool": {
"should": [
{
"term": {
"stkno": "France and Luxembourg"
}
},
{
"term": {
"tag": "France and Luxembourg"
}
},
{
"term": {
"context": "France and Luxembourg"
}
},
{
"term": {
"htext": "France and Luxembourg"
}
}
],
"minimum_should_match": 1
}
}
}
感謝...
我已經試過您的建議編碼..但我不能讓我的結果。總命中數爲0。我將複製elasticsearch值時,它仍然無法找到 –
編碼太長,我不能在這裏 –
貼上編碼,如:POST _search { 「查詢」:{ 「布爾」:{ 「應「:[ {請按照上面的代碼進行編碼)}} –