1
我需要以不区分大小写的方式过滤查询(fq)。 我在网上看到的所有解决方案都与编辑文件schema.xml有关。Solr不区分大小写的查询
但是,我没有这个文件,因为我使用的模式少了Solr(数据驱动的配置集)。
我该如何还能达到这个结果? 非常感谢!
我需要以不区分大小写的方式过滤查询(fq)。 我在网上看到的所有解决方案都与编辑文件schema.xml有关。Solr不区分大小写的查询
但是,我没有这个文件,因为我使用的模式少了Solr(数据驱动的配置集)。
我该如何还能达到这个结果? 非常感谢!
正如您使用managed-schema file
中定义的dynamicField
。 您正在使用模式
为你的领域也*_ss
图案作为name_ss
结束。 在此处,您看到字段*_ss
具有类型字符串,并且这些字符串不会被分析或按照原样进行索引。
我建议您使用以下dynamicField
<dynamicField name="*_txt" type="text_general" indexed="true" stored="true"/>
这里text_general
类型是建立像下面的managed-schema
文件
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="-" replacement=""/>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="." replacement=""/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
所以,你将有场为name_txt
。
这是否意味着您正在使用managed-schema.xml? –
编号 非我的内核有这个文件,我只能在config-sets目录中看到这个文件(默认) – yuz
你在搜索什么字段..?你知道该字段的fieldType吗? –