elasticsearch - 无法从弹性搜索返回唯一数据
问题描述
Array
(
[index] => index_db,
[type] => data
[size] => 10
[from] => 0
[body] => Array
(
[query] => Array
(
[query_string] => Array
(
[query] => search_this_data
[default_operator] => AND
[fields] => Array
(
[0] => field1
[1] => field2
)
)
)
[sort] => Array
(
[field3_date] => Array
(
[order] => desc
[ignore_unmapped] => 1
)
[field4_name] => Array
(
[order] => desc
[ignore_unmapped] => 1
)
)
[aggs] => Array
(
[unique_data] => Array
(
[terms] => Array
(
[field] => field5
)
)
)
)
)
上面的代码是 iam 使用的,查询返回所有行而不考虑 field5 的不同过滤器。如何在查询中使用聚合,以便它应该根据 field5 返回唯一数据。除了聚合之外,还有其他方法可以在弹性搜索中使用不同的操作。
解决方案
不,您必须使用聚合。但是如果您只需要每个 field5 值的最后一个(或一个)文档,则可以使用 field5 作为键并更新它而不是重复。当然,这取决于您的上下文...
推荐阅读
- python - 无法导入 keras.layers.Merge
- sql - 解析 nvarchar 列并添加前导 0
- python - 无法在 XLWings 上保存文件
- java - Citrus-Framework 在场景执行期间更改变量
- mongodb - 通过 Lambda 超时使用 mongo 批量插入并插入数据 3 次
- java - Spring在嵌套类中注入bean null
- mysql - mysql 5.7 无法更新左连接视图的可更新部分
- javascript - 如何删除全屏模式?(InAppBrowser)
- unit-testing - MobileFirst 适配器和单元测试
- java - JFrame 与容器