我们如何配置弹性搜索,使其仅返回与搜索查询中所有单词匹配的结果。被索引的文档具有包含多个字段的数据,因此搜索查询的单词可能与数据的不同字段匹配,但所有单词必须在结果中匹配?
答案 0 :(得分:0)
您可以query string query功能来搜索结果
样本搜索查询
GET /_search
{
"query": {
"query_string": {
"query": "(content:this OR name:this) AND (content:that OR name:that)"
}
}
}
在此查询中,内容和名称是字段名称,此是搜索条件
您可以构建与此类似的搜索查询。
答案 1 :(得分:0)
我认为您正在与multi_match
运算符一起寻找and
查询。这是文档的链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html,看来cross_fields
是您要查找的查询类型。我会在该页面上阅读更多内容,但这可能是您要查找的内容:
GET /_search
{
"query": {
"multi_match" : {
"query": "Will Smith",
"type": "cross_fields",
"fields": [ "first_name", "last_name" ],
"operator": "and"
}
}
}