我在使用 Solr 时遇到问题:
当我的 url 中的字符 '&' 包含 ('%26') 时,这不起作用:
http://localhost:8983/solr/LOREMIPSUM/select?q=shop_id:42+label_fr_str:LOL%26rows=20&indent=off
<result name="response" numFound="0" start="0">
但如果不是这样,我有 4223 个结果:
http://localhost:8983/solr/LOREMIPSUM/select?q=shop_id:42+label_fr_str:LOL&rows=20&indent=off
<result name="response" numFound="4223" start="0">
我有点失落。是否与请求或 Solr 的配置有关以解决它?或者这是不可能的?
编辑 :
我的 schema.xml 中定义的字段
<fieldType name="text" class="solr.TextField"
positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="0"
catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
现场声明:
<field name="label_fr_str" type="text" indexed="true" stored="true" multiValued="false"/>