[英]Using different language stop words in Solr
Solr 在托管模式中为不同语言(如英语、法语、日语等)提供了一些现成的数据类型。
我们使用通用数据类型“text_general”进行字段声明,并使用 stopwards.txt 进行停用词过滤。
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="20" minGramSize="1"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
在将数据同步到 Solr 内核时,我们正在导入不同语言的文本,例如法语、英语、德语 etch。
我的问题是我们应该在同一个“stopwards.txt”文件中使用所有不同的语言停用词还是 solr 如何使用不同的语言停用词?
不要删除停用词。 停用词删除是 1970 年代 32 位机器遗留下来的一种磁盘空间节省技巧。
我从来没有删除停用词,25 年前我开始在 Infoseek 从事搜索工作(它没有删除停用词)。
从索引中删除它们会使某些查询变得不可能,例如“维生素 a”。 当我在 Netflix 构建搜索时,我不小心配置了停用词删除,并发现了一整套 100% 停用词的电影标题。 该列表在此博客文章中。
https://observer.wunderwood.org/2007/05/31/do-all-stopword-queries-matter/
像 Solr 这样的 tf.idf 系统中的“idf”分数与停用词的作用相同,但效果更好。 它根据这个特定集合的统计数据给常用词一个较低的分数。
不要删除停用词。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.