1

elasticsearch 提供参数以从这样的方面值中排除某些方面。

 "facets" : {
        "tag" : {
            "terms" : {
                "field" : "tag",
                "exclude" : ["term1", "term2"]
            }
        }
    }

是否有可能包括某些方面?

我正在尝试获取用户已经选择的方面以及全局方面的计数。例如。您选择了计数为 20 的 word science(来自自动完成),我重新计算了 facets 以显示可能被选中的其他单词,但是由于 global facets 中的其他单词的计数超过 400 ,因此science一词不会得到 facet 结果。

这个任务有什么特别的解决方案吗?

感谢帮助

4

1 回答 1

2

您可以为此使用脚本。将为每个带有term包含当前值的输入变量的构面条目运行脚本。根据脚本的结果,条目将包含或不包含在最终方面。如果返回 false 将被排除,否则将被包含。

"facets" : {
    "tag" : {
        "terms" : {
            "field" : "tag",
            "script" : "term == 'aaa' ? true : false"
        }
    }
}
于 2013-04-15T18:28:42.207 回答