gpt4 book ai didi

elasticsearch - 我应该如何索引和搜索英文连字符?

转载 作者:行者123 更新时间:2023-12-03 01:38:24 28 4
gpt4 key购买 nike

我正在使用Elasticsearch在相当广泛的文档中进行搜索,但是在寻找处理带连字符的单词的最佳方法时遇到了麻烦。

在我的数据中,单词经常以连字符或复合词的形式出现,例如pre-eclampsiapreeclampsia。目前,搜索一个不会找到另一个(standard标记化程序将连字符的版本索引为pre eclampsia)。

通过去除字符过滤器中的连字符,可以轻松解决此特定情况。但是我经常想对连字符进行标记化:搜索jean claudehappy go lucky应该匹配jean-claudehappy-go-lucky

解决此问题的一种方法是在应用程序层中,方法是将对hyphenated-word的任何查询实质上转换为hyphenated-word OR hyphenatedword。但是有什么方法可以处理搜索引擎中的所有这些用例,例如一些分析仪配置? (假设我的数据很大且变化很大,以至于我无法手动创建详尽的同义词文件。)

最佳答案

您可以使用compound word token filter-hyphenation_decompounder应该足够不错。

看来您的索引包含许多 Realm 特定的单词,而这些单词不一定在常规的英语词典中,所以我会花一些时间首先用对您的 Realm 很重要的单词来创建自己的词典。这可以基于特定 Realm 的文献,分类法等。dictionary_decompounder适合执行此类操作。

假设您的问题与Elasticsearch无关,而与Solr无关,后者的过滤器名为DictionaryCompoundWordTokenFilter

关于elasticsearch - 我应该如何索引和搜索英文连字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50296816/

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