gpt4 book ai didi

elasticsearch - 是否应作为过滤器上下文(在Elasticsearch中不进行评分的OR)

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

我正在尝试建立一种最有效的方法来构建OR,而不进行评分,因为我想随后按业务值(value)对结果进行排序。

不幸的是我没有完成它。 :(

我需要什么:

COLOR=X AND ( title = Y OR description = Z)

我尝试了什么(但格式不正确):
{
"query": {
"bool": {
"filter": [
{
"term": {
"colors.source_name": "braun"
}
},
{
"should": [
{
"term": {
"title": "sofa"
}
},
{
"term": {
"description": "sofa"
}
}
]
}
]
}
}

我也尝试过,但是它也提供了没有“gartenlounge”的结果,尤其是在得分方面:
{
"query": {
"bool": {
"filter": [
{
"term": {
"colors.source_name": "braun"
}
}
],
"should": [
{
"term": {
"title": "sofa"
}
},
{
"term": {
"description": "sofa"
}
}
]
}
}

最佳答案

以下查询将为您工作:

{
"query": {
"bool": {
"filter": [
{"term": {
"colors.source_name": "braun"
}},
{"bool": {
"should": [
{"term": {"title": "sofa"}},
{"term": {"description": "sofa"}}
]
}}
]
}
}
}

您可以将 bool查询嵌套在 filter上下文中,并且 should仅在 bool子句中有效。

这是一个古老的引用先生,但它仍然 checkout :

https://www.elastic.co/guide/en/elasticsearch/guide/current/combining-filters.html

关于elasticsearch - 是否应作为过滤器上下文(在Elasticsearch中不进行评分的OR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55064747/

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