gpt4 book ai didi

elasticsearch - ElasticSearch:使用query_string的IN运算符查询

转载 作者:行者123 更新时间:2023-12-02 22:23:00 24 4
gpt4 key购买 nike

我想将记录与查询字符串进行匹配,因此我编写了以下运行良好的查询:

{
"query": {
"query_string": {
"fields": ["rollno","name"],
"query": "*John*"
}
}
}

现在,除了匹配 fields之外,我还想针对另一个字段实现 IN查询。我尝试了 this查询,如下所示:
{
"query": {
"query_string": {
"fields": ["rollno", "name"],
"query": "*John*"
},
"match": {
"majorSubject": ["Biology", "Chemistry"]
}
}
}

我得到的只是 search_parse_exception

该如何对 IN进行操作?

最佳答案

您需要使用bool/must查询来组合两个子查询:

{
"query": {
"bool": {
"must": [
{
"query_string": {
"fields": [
"rollno",
"name"
],
"query": "*John*"
}
},
{
"terms": {
"majorSubject": [
"Biology",
"Chemistry"
]
}
}
]
}
}
}

如果 majorSubject字段是经过分析的字符串,请改用小写字母:
{
"query": {
"bool": {
"must": [
{
"query_string": {
"fields": [
"rollno",
"name"
],
"query": "*John*"
}
},
{
"terms": {
"majorSubject": [
"biology",
"chemistry"
]
}
}
]
}
}
}

关于elasticsearch - ElasticSearch:使用query_string的IN运算符查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970878/

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