我在打字时使用 solrShingleFilterFactory
来建议单词。它工作正常。但是,第一个查询很长(大约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 字段上的简单查询方面也会导致问题。我怎样才能提高响应时间,如果可能的话,不要遭受每次软提交?
感谢您的关注。