2
我想知道如果有兩個查詢類型組合的可能性,在我來說,我需要一個比賽和通配符查詢,每個人都有對不同領域工作。Elasticsearch結合兩種不同的查詢類型的一個請求
問題是,如果實體名稱(文檔是實體的表示形式)與搜索詞語結尾處的通配符名稱匹配,則匹配文檔,或者匹配其中一個匹配的文檔該實體的同義詞。不是兩個querys必須匹配,只是其中一個考慮該文件是相關的。
目前我需要兩個請求歸檔此:
通配符:
GET /name/type/_search
{
"query": {
"wildcard": {
"name": {
"value": "term*",
"boost": 2
}
}
}
}
比賽:
GET /name/type/_search
{
"query": {
"match": {
"synonyms": "term"
}
}
}
有沒有辦法用一個請求做呢?我的所有測試均失敗。
有一個看看'bool'查詢[SO答案](http://stackoverflow.com/questions/13363709/how-to-join-2-match-queries-into-a-query- for-elasticsearch/13363814#13363814) – Thorsten
使用bool查詢兩個查詢都必須匹配,在我的情況下,它們中的一個必須匹配才能將文檔視爲有效匹配。我更新了這個問題來指出這一點。謝謝。 – maddin2code
然後使用'should'而不是'must'。請參閱[文檔](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html#query-dsl-bool-query)。 – Thorsten