在我的solr中,我在运行Indexing分析后得到了这个结果。我有许多文档包含机器学习这个词,但似乎有些东西坏了,索引链没有完成。我可以找到解决办法吗?
要搜索的值的字段类型为:<field name="Skills" type="text_general" indexed="true" stored="true"/>
编辑1:
答案 0 :(得分:0)
我猜测“SF”是一个词根过滤器 - 过滤器将删除常用结尾以允许'机器'匹配'机器',将'machin'存储为索引中的常用术语。只要在索引和查询时都执行词干分析,就应该得到你正在寻找的结果。
EdgeNGramFilter为令牌中的每个额外字母存储一个令牌,因此您将获得每个附加字母的令牌(将与查询令牌匹配)(其中您的过滤器似乎配置为3作为最小ngram大小)。
如果您在搜索时未执行词干分析,则查询machine
将找不到任何匹配项,因为索引后的令牌已存储为machin
。
使用分析页面上的“查询”和“索引”部分来查看每个部分的解析和处理方式,并了解它们为什么不会在两边都使用相同的术语(两个部分的末尾令牌)双方进行比较,如果它们是相同的,则会有一个匹配 - 在界面IIRC中显示的背景稍暗。)
答案 1 :(得分:0)
我不确定您的第一张图片代表什么,但是您的两张图片显示了不同的令牌过滤器顺序。
作为Stem过滤器的旁注,kstem令牌过滤器是英语的高性能过滤器。所有术语必须已经小写(使用小写过滤器)才能使此过滤器正常工作。
您的第一张图片显示您已将LCF(LowercaseFilter)作为第一个令牌过滤器。但是你的第二张图片显示你先运行干式过滤器,然后再做LCF(LowercaseFilter),它不会起作用