gpt4 book ai didi

elasticsearch - 带有排除列表的Elasticsearch查询

转载 作者:行者123 更新时间:2023-12-03 02:23:22 24 4
gpt4 key购买 nike

我仍然是ES的初学者,遇到了我不知道如何解决的任务。

我们有一个典型的新闻通讯系统,该系统具有一个用于存储联系信息的索引(联系人)。这些是典型的个人数据:姓名,电子邮件地址等,以及对我们重要的问题的解答。
大多数数据类型都是简单的关键字(或日期),因为它们是我们搜索的最佳选择。文件数量约为100万。

查询例如“我正在寻找居住在布达佩斯的所有25至50岁的女性”。 (我们的查询比这复杂得多)

GET /contact/_search
{
"query": {
"bool": {
"should": [
{
"term": {
"city": "Budapest"
}
},
{
"term": {
"gender": "female"
}
},
{
"range": {
"birthdate": {
"lte": "1995-05-14",
"gte": "1970-05-14"
}
}
}
]
}
}
}

这对我们来说非常好,非常快。

我的问题是,如何为常规查询创建一个较大的排除列表?

每个联系人都有一个ID(md5哈希或sha256),我们想查询例如“我正在寻找居住在布达佩斯且未在身份证上列出身份证的所有20-50岁妇女。”

目前,排除列表例如具有哈希列的CSV文件,例如250,000或3,000,000条记录。

我不知道该列表应如何放置在数据库中,也不知道如何在查询中引用它。

有人可以帮我吗?

最佳答案

或者,我们为排除列表(ID)命名。联系人对象获得一个名为exclude的属性,该属性将是一个列表,并包含包含联系人文档的排除列表的ID。这将使查询变得容易。这将类似于标签。

例如:csv文件中的排除列表,200,000条记录。 list 名称为ex_20200515_xyz

{
"email": "xyz@gmail.com",
"birthday": "1975-01-01",
"city": "Budapest",
....
excludes: ["ex_20200510_rtz", "ex_20200515_xyz"]
}

关于elasticsearch - 带有排除列表的Elasticsearch查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61800379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com