我想利用ES模糊匹配来匹配城市名称。例如,对于这些输入(芝加哥,芝加哥,伊利诺伊州,芝加哥-IL,芝加哥,美国,芝加哥土地,更大的芝加哥地区等),我想返回一个标准城市名称(芝加哥,IL)。
简单模糊匹配工作正常。
PUT /fuzzy_items/city/_mapping
{
"city": {
"properties": {
"name": {
"type": "string",
"analyzer": "simple"
}
}
}
}
但是,我需要规范化的几份文件(例如10,000件)。其他操作有批量API ..即。如果我需要索引10,000个文档,那么批量API可以在更少的调用中实现此目的。
模糊匹配是否有类似功能?意思是,我可以发送输入数组[" chicago,USA"," Minneapolis,MN"]并期望模糊匹配响应数组[" Chicago,IL", "明尼苏达州明尼阿波利斯"?]
我试图克服的问题是如何“不”。使用模糊匹配进行1000次调用,并通过较少的调用实现相同的效果。
或
是否有不同的实现方法,可能正在使用elastic scripting?
感谢任何建议。