最近两周我一直在研究Elasticsearch(ES)。 ES中不同搜索索引中目前存在数百万条记录。
我注意到,在不同的搜索索引中,记录重复,这在造成问题。
我们可以通过代码搜索重复的记录并删除这些记录。也许这可能适用,但是我有超过1亿条记录,因此需要很多时间。
我的要求是,当我们从ES获取记录时,我们可以应用不同的过滤器。有什么过滤器或方法我们只能获取不同的记录?我目前正在使用PHP的REST API。
这是我当前正在使用的代码,并且过滤器运行正常。
$params = [
'index' => 'MyIndex',
'type' => 'MyType',
'from' => 0,
'size' => 10,
'body' => [
'query' => [
'bool' => [
'must' => [
[ 'match' => [ 'image' => true ] ],
[ 'simple_query_string' => [ 'query' => 'MyQuery' ] ]
]
]
]
]
];
我还尝试从“ Aggregations”中查找内容,但找不到与我的要求相关的内容。
我们将非常感谢快速帮助。
谢谢。
答案 0 :(得分:0)
我认为您正在寻找的是“崩溃”。
Elasticsearch从6.x开始支持它:
https://www.elastic.co/guide/en/elasticsearch/reference/6.x/search-request-collapse.html