过滤器完成建议使用AND而不是OR

时间:2016-12-22 02:44:59

标签: search elasticsearch

我正在尝试根据我在映射中设置的完成上下文来过滤完成建议结果。这是一个示例查询。

POST jekyll/_suggest?pretty
{
    "title-author-suggestion" : {
        "prefix" : "Donald",
        "completion" : {
            "field" : "Suggest",
            "contexts" : {
              "Tags" : "general",
              "Authors" : "Katie Reilly"
            } 
        }
    }
}

我遇到的问题是结果似乎是使用 OR 效果进行过滤,而不是 AND 效果。

例如,假设我有这两个文件。

{
    "Title" : "Donald Duck is amazing",
    "Tags" : [ "general" ],
    "Authors" : [ "Bob" ]
}

{
    "Title" : "Donald Trump is president, whaaaat?!",
    "Tags" : [ "general" ],
    "Authors" : [ "Katie Reilly" ]
}

我认为运行完成建议查询(如我问题顶部的查询)会给我1个文档的结果。

{
    "Title" : "Donal Duck is amazing",
    "Tags" : [ "general" ],
    "Authors" : [ "Katie Reilly" ]
}

相反,我得到了两份文件。

有没有办法更改完成建议查询的行为以展示我期望的行为,或者我只是不必使用完成建议?

0 个答案:

没有答案