如何使用 query_string 的字段 属性 并在逻辑上使用 elasticsearch?
how to use fields property of query_string to be and logically using elasticsearch?
在 elasticsearch
的 query_string
中有一个 fields
属性.. 限制通过指定字段的搜索.. 似乎默认情况下 运行 query_string
多字段查询是将每个查询词展开成一个OR子句,像这样:
field1:query_term **OR** field2:query_term | ...
这是我的问题:如果我希望我的字段像这样:
field1:query_term **AND** field2:query_term | ...
如果我想在逻辑上 and
我的字段在一起,如何编写我的查询?
在我的搜索中,最好不要使用 phrase_match
,因为我的搜索中有一些功能可以让用户选择如何搜索,exact 或查看 文档中的所有单词或在结果字段中查看one_or_more单词...现在当用户选择时这是可以的one_or_more
我希望我能清楚地解释我的问题。如果不是,请告诉我!
谢谢
您可以将设置 "default_operator": "AND"
添加到您的 query_string 查询(默认设置为 OR
):
POST /_search
{
"query": {
"query_string" : {
"query" : "field1:query_term field2:query_term",
"default_operator": "AND" <--- add this
}
}
}
在 elasticsearch
的 query_string
中有一个 fields
属性.. 限制通过指定字段的搜索.. 似乎默认情况下 运行 query_string
多字段查询是将每个查询词展开成一个OR子句,像这样:
field1:query_term **OR** field2:query_term | ...
这是我的问题:如果我希望我的字段像这样:
field1:query_term **AND** field2:query_term | ...
如果我想在逻辑上 and
我的字段在一起,如何编写我的查询?
在我的搜索中,最好不要使用 phrase_match
,因为我的搜索中有一些功能可以让用户选择如何搜索,exact 或查看 文档中的所有单词或在结果字段中查看one_or_more单词...现在当用户选择时这是可以的one_or_more
我希望我能清楚地解释我的问题。如果不是,请告诉我!
谢谢
您可以将设置 "default_operator": "AND"
添加到您的 query_string 查询(默认设置为 OR
):
POST /_search
{
"query": {
"query_string" : {
"query" : "field1:query_term field2:query_term",
"default_operator": "AND" <--- add this
}
}
}