gpt4 book ai didi

lucene - SOLR:NGramFilterFactory 的问题

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

我正在运行 SOLR 作为内部网的搜索引擎,该内部网拥有超过 40000 个文档。我通过使用 copyField 指令将 titlekeywords 字段复制到 content 字段并仅对其进行索引来保持非常简单。

从现在开始我们使用这个配置:

<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>

效果很好,但有人提示说必须手动设置通配符。所以我在分析器的最后一行添加了 NGRamFilterFactory:

<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="30" />
</analyzer>

现在的问题是:使用旧配置,我用某个关键字('Sony')找到了 7 个文档。现在,只有 2 个。我完全刷新了索引并从头开始构建它。当我再次取出该行并重新索引文档时,它再次按预期工作。这引出了我的问题:

  • FilterFactory 是否适合我,还是它应该是分词器工厂?如果分词器:它可以在过滤器之后运行吗?
  • 我将 75 个文档分批添加为 xml 文档,并在最后提交。是否应该有更多的提交?
  • 还有一个我现在忘记了.. grr

提前致谢!

最佳答案

只是一个疯狂的猜测 -

内容字段的大小(字数)是多少?
因为,现在您将 NGramFilterFactory 放入您的过滤器链中,其 minGramSize 为 3,将生成许多 token ,并且所有 token 都位于新位置。

solrconfig.xml 中的 maxFieldLength 设置限制了要索引的标记数。
默认值为 10000(仍然很高),但可以超过过滤器链中的大内容和 ngramfilter。

<maxFieldLength>10000</maxFieldLength>

尝试将此值增加到一个较大的数字,重新索引并检查是否找到匹配项。

关于lucene - SOLR:NGramFilterFactory 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751394/

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