【发布时间】:2020-08-07 13:08:14
【问题描述】:
是否有任何解决方案,使用 termfreq 来表达,而不是一个词(一个词工作正确),如:termfreq(field,"test value") - 工作失败:
schema.xml:
<fieldType name="text_books_index" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.MorfologikFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.MorfologikFilterFactory"/>
</analyzer>
</fieldType>
【问题讨论】:
-
问题没有说清楚...您能否详细说明问题?
-
是的,例如:在文档中,在字段文本中有一个句子:“这是一个例句”,如果 termfreq(text,"example") = 1 - 这是正确的,但如果 termfreq( text,"例句") = 0,失败
-
我建议在您的字段类型中尝试使用 ShingleFilterFactory ..
-
我试过了,但不行:(
-
仅在索引分析器中尝试...还有为什么要使用 edgengramfilter ....如果您正在寻找词组匹配...您不应该使用它