首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES:匹配bool和模糊查询

ES:匹配bool和模糊查询
EN

Stack Overflow用户
提问于 2018-08-15 16:53:23
回答 1查看 2.2K关注 0票数 1

我有疑问。现在,我要添加到这个查询‘模糊’参数。我正在努力:

代码语言:javascript
复制
            "body"  : {
            "query" : {
                "bool" : {
                    "must" : {
                        $finalQuery,
                        },
                    }
                },
                "match" : {
                    "city" : {
                        "query" : 'Tokkiio',
                        "fuzziness" : "AUTO"
                    },
                }
            }

$finalQuery是在循环中生成的查询,包含术语、范围和术语参数。

我正在收到:

代码语言:javascript
复制
"{"error":{"root_cause":[{"type":"parsing_exception","reason":"[bool] malformed query, expected [END_OBJECT] but found [FIELD_NAME]","line":1,"col":177}],"type":"parsing_exception","reason":"[bool] malformed query, expected [END_OBJECT] but found [FIELD_NAME]","line":1,"col":177},"status":400}"

谢谢你帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 17:48:43

请将查询重构为查询上下文和过滤器上下文,如本文所述- https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html

将您的模糊查询和类似条件放在查询上下文中。将范围和任何筛选条件移到筛选上下文。下面是一个示例查询。

代码语言:javascript
复制
{
    "query":
    {
        "bool":
        {
            "must":
            {
                "fuzzy":
                {
                    "city":
                    {
                        "value": "Tokkiio",
                        "fuzziness": "AUTO"
                    }
                }
            },
            "filter":
            {
                "range":
                {
                    "year":
                    {
                        "gte": 2016
                    }
                }
            }
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51863076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档