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