我在输入时使用solr ShingleFilterFactory
来建议单词。它工作正常。但是,第一个查询非常长(大约 30秒,包含600,000个文档)。更糟糕的是,每次软提交它再次发生(每次硬提交,当然)。就像必须从磁盘重新加载完整索引一样,只是为了计算这个特定的方面。
以下是我的索引的配置:
<fieldType name="textSpellShingle" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.PatternTokenizerFactory" pattern="[\s,;.^*!?|]"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="6" outputUnigrams="true"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.PatternTokenizerFactory" pattern="[\s,;.^*!?|]"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我的Solr版本是4.2.0
它似乎与facet.prefix
无关,因为即使我的Shingle字段上的简单查询方面也会导致问题。
如何才能改善响应时间,如果可能的话,不要每次软提交?
感谢您的关注。