我遇到了一个问题,我需要根据不同的字段执行搜索。例如,在用户界面上,用户提供了多个搜索选项,如公司名称,部门,州/省,标题国家和地区。
用户选择其中一些选项,如公司名称,部门,州。我需要在这些字段上执行搜索并返回结果。
我可以借助弹性搜索中的聚合来做到这一点吗?任何人都可以给我详细说明如何做到这一点。
我做了一些例如在性别上执行聚合的例子。查询如下: - " AGGS" :{" group_by_gender" :{"术语#34; :{"字段" :"性别"}}
当我运行这种类型的查询时,返回了所有来源(来自文档)。所以,我对实际执行聚合感到困惑。
先谢谢
答案 0 :(得分:0)
Aggregations旨在对字段值进行统计。如果您需要根据字段搜索文档,则需要进行(boolean)查询。
示例:
POST myIndex/_search
{
"bool" : {
"must" : [
{"term" : { "name" : "kimchy" }},
{"term" : { "state" : "unicorn planet" }}
]
}
}
答案 1 :(得分:0)
布尔查询具有不同的参数,例如must,should,match,match all,filter。 希望这会有所帮助。