Indexing Solr索引问题,Solr索引链不完整

Indexing Solr索引问题,Solr索引链不完整,indexing,solr,lucene,full-text-indexing,Indexing,Solr,Lucene,Full Text Indexing,在我的solr中,我在运行索引分析后得到了这个结果。我有许多文档包含机器学习这个词,但似乎有些东西坏了,索引链没有完成。我能为这个找个工作吗 正在搜索的值的字段类型为: 编辑1: 带查询的分析: 我猜“SF”是一个词干过滤器-过滤器将删除公共结尾,以允许“machine”与“machines”匹配,并将“machin”存储为索引中的公共术语。只要在索引和查询时都执行词干分析,就应该得到所需的结果 EdgeNGramFilter为令牌中的每个额外字母存储一个令牌,因此您可以为每个额外字母获得一个令

在我的solr中,我在运行索引分析后得到了这个结果。我有许多文档包含机器学习这个词,但似乎有些东西坏了,索引链没有完成。我能为这个找个工作吗

正在搜索的值的字段类型为:

编辑1:

带查询的分析:

我猜“SF”是一个词干过滤器-过滤器将删除公共结尾,以允许“machine”与“machines”匹配,并将“machin”存储为索引中的公共术语。只要在索引和查询时都执行词干分析,就应该得到所需的结果

EdgeNGramFilter为令牌中的每个额外字母存储一个令牌,因此您可以为每个额外字母获得一个令牌(该令牌将与查询令牌相匹配)(您的筛选器似乎配置为3作为最小ngram大小)

如果搜索时未执行词干分析,则查询
machine
将找不到任何匹配的术语,因为索引后的标记已存储为
machin


使用分析页面上的“查询”和“索引”部分查看每个部分是如何解析和处理的,并查看为什么它们的两端没有相同的术语(比较两侧的结束标记,如果它们相同,则有一个匹配项-这在界面IIRC中显示为略暗的背景).

我不确定您的第一张图像代表什么,但您的两张图像显示了不同的令牌过滤器顺序

作为Stem过滤器的旁注,kstem令牌过滤器是英语的高性能过滤器。要使此筛选器正常工作,所有术语必须已小写(使用小写筛选器)


您的第一个图像显示您有LCF(LowercaseFilter)作为第一个令牌过滤器。但是您的第二张图像显示,您首先运行了stem过滤器,然后执行LCF(LowercaseFilter),它将不起作用

我还添加了查询部分。SF在这里有完整的文字。但是这两个SFs过滤器都是吗?同义词过滤器?如果将鼠标悬停在“SF”文本上,可以看到完整的类名。您可能还希望将lowercasefilter置于与前面相同的位置。添加字段定义也很有用,但正如您所看到的,当查询标记时,标记是“machine”,而“machin”是索引生成的标记。因为它们不匹配,所以你不会被击中。