我在solr中有以下数据:
使用此Schema.xml配置:
<uniqueKey>id</uniqueKey>
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="Titulo" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
<field name="Anio" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
<field name="ISBN" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
<field name="URL" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
<field name="Autor" type="text_general" indexed="true" stored="true" required="true" multiValued="true" />
但是我不能进行部分匹配,只能使用完整的字符串(例如,我必须将所有URL都放在该字段的搜索范围内)。我该怎么办?
答案 0 :(得分:0)
您可以在schema.xml中添加以下字段类型。 使用&#34; partial_search&#34;您要在其中执行部分搜索的字段的fieldType。
完成schema.xml更改后,您需要重新启动服务器并重新索引数据。
<fieldType name="partial_search" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" maxGramSize="10"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>