gpt4 book ai didi

python - 使用 AND OR 运算符进行 bool 查询

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:30 24 4
gpt4 key购买 nike

查询:国家公共(public)广播电台/电视

也就是说,匹配查询 National Public RaidoNational Public TV。我想知道如何在elasticsearch中执行这样的任务? 该任务是用 Python 完成的

我尝试过的:

bool 查询“国家公共(public)广播电台”

from elasticsearch import Elasticsearch

es_conn = Elasticsearch(config.ES_HOSTS)

res = es_conn.search(index = config.INDEX_NAME,
body={
"_source": ["filename"],
"query": {
"match" : {
"text" : {
"query" : "National Public Radio",
"operator" : "and"
}
}
}
}
)

bool 查询“Radio OR TV”

res = es_conn.search(index = config.INDEX_NAME,
body={
"_source": ["filename"],
"query": {
"match" : {
"text" : {
"query" : "Radio TV",
}
}
}
}
)

但是如何将这两者结合起来,我不知道,有人可以帮忙吗?

最佳答案

您可以使用以下查询来检查查询文本是否与国家公共(public)电视台或国家公共(public)广播电台匹配。它使用了应该运算符,并且最小数量应该匹配等于一,确保文本应该匹配这两者之一。

{
"query": {
"bool": {
"should": [
{

"match": {
"text": {
"query": "National Public Radio"
}

}
},
{

"match": {
"text": {
"query": "National Public TV"
}
}

}
],
"minimum_should_match" : "1"
}
}
}

关于python - 使用 AND OR 运算符进行 bool 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532333/

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