我正在尝试使用 Solr 中的 NGramFilterFactory(在 Rails 中使用 Sunspot)来查找类似的标题。我设法向我的 solr schema.xml 添加了一个新字段,如下所示:
<fieldType name="text_ngrm" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="4"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
由于我在 rails 应用程序中使用 sunpsot,因此通过动态字段将新字段添加到 sunspot。这一切都奏效了,我现在可以使用 NGramFilterFactory 搜索我的模型。我不确定的是,如何配置 solr 以搜索类似的标题。以下是我的具体问题:
- 当我尝试查询相似的标题时,使用 dismax 查询解析器是否有意义?
- (Minimum 'Should' Match)参数如何帮助我找到相似的标题?
- 基于我究竟会选择ngram min。和最大。尺寸?
感谢您的任何反馈。