gpt4 book ai didi

ruby-on-rails - ElasticSearch-与AND/OR的多重匹配

转载 作者:行者123 更新时间:2023-12-02 22:30:48 26 4
gpt4 key购买 nike

我想在索引的多个字段中使用multi_match

例如,我有此用户索引。

Users
id
real_name
contact_name
user_name

这些字段均使用标准分析仪。因此,我想搜索这3个字段(real_name,contact_name,user_name),并寻找在至少一个字段中同时具有“John”和“Peter”的用户。

我知道如果不需要AND部分,可以使用multi_match。示例:仅搜索John:
{
"multi_match" : {
"query": "john",
"fields": [ "real_name", "contact_name", "user_name" ]
}
}

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#query-dsl-multi-match-query

但是,如果我需要其他 and条件,该怎么办。是否可以使用multi_match做到这一点?

最佳答案

使用"operator" : "AND":

{
"query": {
"bool": {
"should": [
{
"multi_match": {
"query": "john",
"fields": [
"real_name",
"contact_name",
"user_name"
],
"type": "cross_fields",
"operator": "AND"
}
}
]
}
}
}

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#operator-min

关于ruby-on-rails - ElasticSearch-与AND/OR的多重匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com