【发布时间】:2016-04-10 20:55:08
【问题描述】:
我是 elasticsearch 新手,我正在尝试使用 elasticsearch,搜索 api。
我的索引结构由树类型组成。说foo、bar 和baz。所有树类型都具有相同的“名称”键和字符串值,我想要实现的是搜索所有类型,但只检索每种类型的最多 5 个项目。
我认为我在 Multi Search API 方面取得了成功;我想知道我是否可以使用单个查询来保持相同的功能(以获得更好的性能)。
我尽可能多地搜索互联网。但是,我找不到更好的方法。 stackoverflow 中有一个类似问题的答案,它也提供了多搜索 api;但是已经两岁了,并且有一个问题。我觉得再问有意义。
这是我目前正在使用的 msearch:
{"type" : "foo"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
{"type" : "bar"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
{"type" : "baz"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
如果我编写一个最多包含 4 个结果的查询,我认为这将检查所有存储 3 次。
任何帮助表示赞赏。
【问题讨论】:
-
如果它有效,您想要更改多搜索查询的根本原因是什么?是不是太慢了?
-
@Val 你知道,这是一个工程问题。我正在尽我所能进行优化。
-
很公平,我只是好奇 ;-)
标签: performance elasticsearch types limit