0
如何获得SOLR的字符串值,就像SQL LIKE%
SOLR schema.xml中的字符串字段LIKE%
例如,我有这些字符串:
a
- 0结果as
- 0结果asd
- 0结果asdd
- 15结果
如何在schema.xml
中配置?
我试图添加sortMissingLast="true"
但它仍然无法正常工作。
如何获得SOLR的字符串值,就像SQL LIKE%
SOLR schema.xml中的字符串字段LIKE%
例如,我有这些字符串:
a
- 0结果as
- 0结果asd
- 0结果asdd
- 15结果如何在schema.xml
中配置?
我试图添加sortMissingLast="true"
但它仍然无法正常工作。
正如你想从前面搜索,字母由字母a Edge N-Gram Tokenizer会做你想做的。为了减小指数大小,我还会在分析仪上添加a Lower Case Filter。
您将需要一个自定义fieldType
- 请参阅下面 - 然后您将需要使用您选择的文档的字段。
<fieldType name="my_sql_like" class="solr.TextField">
<analyzer>
<tokenizer class="solr.EdgeNGramTokenizerFactory"
minGramSize="4" maxGramSize="10"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
有趣的属性这里
asdd
成为第一个产生命中的搜索,我建议使用4
。更正式地说,这定义了单词/单词片段的最小尺寸。如果一个单词小于这个值,它将而不是使它成为索引,因此不可搜索。