java - 如何在 Elasticsearch 中查找和标记重复项
问题描述
我有两个 ES 索引,其中包含有关人员的数据(姓名、出生日期等)。两个索引中都有一些人,例如:
索引1
_ID | 名 | 姓 | 出生日期 | ... |
---|---|---|---|---|
QQ微博 | 演示 | 演示 | 1998.10.10 | |
埃特罗蒂 | 演示2 | 演示2 | 1995.11.11 | |
wwr | 演示3 | 演示3 | 1997.09.09 |
索引2
_ID | 名 | 姓 | 出生日期 | ... |
---|---|---|---|---|
sdfll | 演示514 | 演示514 | 2001.11.04 | |
fdgdg | 演示2 | 演示2 | 1995.11.11 | |
sdfdfg | 演示512 | 演示512 | 2000.05.16 |
如您所见,此条目包含在两个索引中(与 first_name、last_name 和birth_date 相比):
_ID | 名 | 姓 | 出生日期 | ... |
---|---|---|---|---|
id不一样 | 演示2 | 演示2 | 1995.11.11 |
我需要找到这样的条目并在其中添加一个具有唯一 ID 的附加字段,因此index1和index2之后应该如下所示:
索引1
_ID | 名 | 姓 | 出生日期 | 唯一身份 |
---|---|---|---|---|
QQ微博 | 演示 | 演示 | 1998.10.10 | 无效的 |
埃特罗蒂 | 演示2 | 演示2 | 1995.11.11 | QWERTY |
wwr | 演示3 | 演示3 | 1997.09.09 | 无效的 |
索引2
_ID | 名 | 姓 | 出生日期 | 唯一身份 |
---|---|---|---|---|
sdfll | 演示514 | 演示514 | 2001.11.04 | 无效的 |
fdgdg | 演示2 | 演示2 | 1995.11.11 | QWERTY |
sdfdfg | 演示512 | 演示512 | 2000.05.16 | 无效的 |
我的数据以 CSV 文件的形式出现,这些文件被解析并导入 ES(通过 Java)。我不确定我应该在哪个阶段做这样的事情,或者是否可以使用 ES
解决方案
对于那些想知道我如何解决这个问题的人 - 我没有。最好的解决方案是hashing,但它并不完全适合我的需要。
推荐阅读
- python - python编码一个单词来转换数字?
- python - 查找 Dask 数据框中多列的中值
- ruby - 如何将 SASS/Compass 放入 DDEV Web 容器?
- json - 为什么 bash 不使用 jq -r bash IFS 显式定义变量来拆分数组
- generics - 如何使用 Class 类型的参数调用方法
在科特林? - azure-functions - Azure QnA maker 无法通过引发 ExtractionFailure 错误代码来创建知识库
- node.js - 如果我已经可以使用 db.query 为什么我需要 app.CRUD
- c++ - 比较两个 C++ 容器时 > 运算符有什么作用?
- twitter-bootstrap-3 - Vuetify 和 Bootstrap 网格冲突仅在本地
- javascript - 来自同步函数的异步函数调用 (Node.js)