elasticsearch 在容忍拼写错误的同时,我如何有效地找到某些文本中提到的所有人?,elasticsearch,lucene,full-text-search,aho-corasick,elasticsearch,Lucene,Full Text Search,Aho Corasick" /> elasticsearch 在容忍拼写错误的同时,我如何有效地找到某些文本中提到的所有人?,elasticsearch,lucene,full-text-search,aho-corasick,elasticsearch,Lucene,Full Text Search,Aho Corasick" />

elasticsearch 在容忍拼写错误的同时,我如何有效地找到某些文本中提到的所有人?

elasticsearch 在容忍拼写错误的同时,我如何有效地找到某些文本中提到的所有人?,elasticsearch,lucene,full-text-search,aho-corasick,elasticsearch,Lucene,Full Text Search,Aho Corasick,我有一个数百万名人的名单(来自维基数据),我需要创建一个系统,有效地查找在相当短的文本中提到的所有人:它可以是一个单词(如“爱因斯坦”)到几页文本(如维基百科页面) 我需要这个系统能够容忍拼写错误(比如迈克·杰克逊而不是迈克尔·杰克逊)和短格式(比如M·杰克逊)。如果出现歧义,它应该返回所有可能的人(例如,“乔治·布什”应该同时返回父子,也可能返回其他同音词) 这有几个有趣的答案,包括使用。有多种语言的库,包括。但是,它似乎不支持模糊搜索(即容忍拼写错误) 我想我可以扩展词汇表,以包括每个名字的

我有一个数百万名人的名单(来自维基数据),我需要创建一个系统,有效地查找在相当短的文本中提到的所有人:它可以是一个单词(如“爱因斯坦”)到几页文本(如维基百科页面)

我需要这个系统能够容忍拼写错误(比如迈克·杰克逊而不是迈克尔·杰克逊)和短格式(比如M·杰克逊)。如果出现歧义,它应该返回所有可能的人(例如,“乔治·布什”应该同时返回父子,也可能返回其他同音词)

这有几个有趣的答案,包括使用。有多种语言的库,包括。但是,它似乎不支持模糊搜索(即容忍拼写错误)

我想我可以扩展词汇表,以包括每个名字的所有可能拼写,但这会使词汇表太大,因此如果可能的话,我宁愿避免这种情况(此外,我可能希望在某一点上将此解决方案扩展到不仅仅是人)

我快速浏览了一下/ElasticSearch,但它似乎不支持这个用例(除非我错过了它)


有什么想法吗?

Elasticsearch支持模糊匹配:请参阅文档