如何在 Elasticsearch 中查找和标记重复项
How to find and mark duplicates in Elasticsearch
我有两个 ES 索引,其中包含有关人员的数据(姓名、birth_date 等)。有些人同时出现在两个指数中,例如:
index1
_id
first_name
last_name
birth_date
...
qqwew
演示
演示
1998.10.10
etroty
演示2
演示2
1995.11.11
werwr
演示3
演示3
1997.09.09
index2
_id
first_name
last_name
birth_date
...
sdfll
demo514
demo514
2001.11.04
fdgdg
演示2
演示2
1995.11.11
sdfdfg
demo512
demo512
2000.05.16
如您所见,此条目包含在两个索引中(与 first_name、last_name 和 birth_date 相比):
_id
first_name
last_name
birth_date
...
id不同
演示2
演示2
1995.11.11
我需要找到这样的条目并在其中添加一个具有唯一 ID 的附加字段,因此 index1 & index2 应该如下所示之后:
index1
_id
first_name
last_name
birth_date
unique_id
qqwew
演示
演示
1998.10.10
无
etroty
演示2
演示2
1995.11.11
QWERTY
werwr
演示3
演示3
1997.09.09
无
index2
_id
first_name
last_name
birth_date
unique_id
sdfll
demo514
demo514
2001.11.04
无
fdgdg
演示2
演示2
1995.11.11
QWERTY
sdfdfg
demo512
demo512
2000.05.16
无
我的数据来自 CSV 文件,这些文件被解析并导入到 ES(通过 Java)。我不确定我应该在哪个阶段做这样的事情,或者是否可以使用 ES
对于那些想知道我是如何解决这个问题的人 - 我没有。最好的解决方案是散列,但它并不完全适合我的需要。
我有两个 ES 索引,其中包含有关人员的数据(姓名、birth_date 等)。有些人同时出现在两个指数中,例如:
index1
_id | first_name | last_name | birth_date | ... |
---|---|---|---|---|
qqwew | 演示 | 演示 | 1998.10.10 | |
etroty | 演示2 | 演示2 | 1995.11.11 | |
werwr | 演示3 | 演示3 | 1997.09.09 |
index2
_id | first_name | last_name | birth_date | ... |
---|---|---|---|---|
sdfll | demo514 | demo514 | 2001.11.04 | |
fdgdg | 演示2 | 演示2 | 1995.11.11 | |
sdfdfg | demo512 | demo512 | 2000.05.16 |
如您所见,此条目包含在两个索引中(与 first_name、last_name 和 birth_date 相比):
_id | first_name | last_name | birth_date | ... |
---|---|---|---|---|
id不同 | 演示2 | 演示2 | 1995.11.11 |
我需要找到这样的条目并在其中添加一个具有唯一 ID 的附加字段,因此 index1 & index2 应该如下所示之后:
index1
_id | first_name | last_name | birth_date | unique_id |
---|---|---|---|---|
qqwew | 演示 | 演示 | 1998.10.10 | 无 |
etroty | 演示2 | 演示2 | 1995.11.11 | QWERTY |
werwr | 演示3 | 演示3 | 1997.09.09 | 无 |
index2
_id | first_name | last_name | birth_date | unique_id |
---|---|---|---|---|
sdfll | demo514 | demo514 | 2001.11.04 | 无 |
fdgdg | 演示2 | 演示2 | 1995.11.11 | QWERTY |
sdfdfg | demo512 | demo512 | 2000.05.16 | 无 |
我的数据来自 CSV 文件,这些文件被解析并导入到 ES(通过 Java)。我不确定我应该在哪个阶段做这样的事情,或者是否可以使用 ES
对于那些想知道我是如何解决这个问题的人 - 我没有。最好的解决方案是散列,但它并不完全适合我的需要。