gpt4 book ai didi

c# - 使用C#在Elasticsearch中搜索电话号码对象

转载 作者:行者123 更新时间:2023-12-03 01:43:09 31 4
gpt4 key购买 nike

我有一个elasticsearch索引,其中包含带有联系文档的电话号码对象。 JSON保存如下:

"contactId": "fd71b8e0-c3dd-4861-a45d-6917fdb48038",
"phone": { "country": "123",
"area": "202",
"number": "4567"
},
"type": "business"

本文档中用于电话对象的映射的格式为:
,
"phone": {
"properties": {
"area": {
"type": "string"
},
"country": {
"type": "string"
},
"number": {
"type": "string"
}
}
},

我们正在使用实现Nest的C#应用​​程序查询索引。在应用程序中,我们构造一个 Nest SearchDescriptor对象,该对象用作客户端调用的一部分。当用户搜索1232024567之类的字符串时,如何添加到 SearchDescriptor中以搜索电话号码?

最佳答案

解决此问题的一种方法是也索引但不存储完整的数字,即对其进行索引以使其可用于搜索,但不要存储它,因为它可以从您执行的areacountrynumber重构存储(也可能是索引)。

如果countryareanumber始终可以在索引时间从完整的电话号码中确定,例如始终采用已知格式并遵循模式,那么您可以通过索引并存储完整的电话号码来解决此问题,如果只需要搜索countryareanumber,然后将完整的电话号码指定为 multi-field ,则使用在countryareanumber的每个字段的索引时间上的自定义分析器,以提取正确的术语以进行索引。在搜索时,您可以在多字段中使用这些字段来查找countryareanumber值的匹配项。

关于c# - 使用C#在Elasticsearch中搜索电话号码对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45925599/

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