elasticsearch可能在單個查詢中獲取包含短語1或短語2的所有文檔嗎?當有多個短語和目標是檢索包含這兩種短語的文件Elasticsearch或短語之間的操作
"query" : {
"match_phrase" : {
"title" : "rock climbing"
}
}
但如何對一個案例: 我知道匹配短語,可以使用下面的查詢。
elasticsearch可能在單個查詢中獲取包含短語1或短語2的所有文檔嗎?當有多個短語和目標是檢索包含這兩種短語的文件Elasticsearch或短語之間的操作
"query" : {
"match_phrase" : {
"title" : "rock climbing"
}
}
但如何對一個案例: 我知道匹配短語,可以使用下面的查詢。
你可以用兩個match_phrase
查詢should
子句bool query在:
{
"query" : {
"bool": {
"should": [
{
"match_phrase" : {
"title" : "phrase1"
}
},
{
"match_phrase": {
"title": "phrase2"
}
}
],
"minimum_number_should_match": 1
}
}
}
您可以執行Query String搜索
{
"query_string" : {
"default_field" : "content",
"query" : "this AND that OR thus"
}
}
可以在查詢或使用指定AND/OR子句default_operator
,只需將關鍵字寫入query
參數即可。如果你想要精確的phare,只需將單詞換成引號即可。
這取決於字段「標題」在索引中的映射方式。如果您的Tokenizer(鏈接在下方)設置爲「空格」,則可以單獨搜索這兩個詞,並且此答案將返回所需的結果。 http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/standard-tokenizer.html – Gillespie 2014-09-01 10:07:42