Solr 7.x带引号的短语搜索忽略标点符号

Solr 7.x带引号的短语搜索忽略标点符号,solr,lucene,Solr,Lucene,我有一个Solr全文字段,具有以下设置 <fieldType name="text_en" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <charFilter class="solr.MappingCharFilterFactory" mapping="accents_en.txt"/> <tokenizer class="solr.Whit

我有一个Solr全文字段,具有以下设置

<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
  <charFilter class="solr.MappingCharFilterFactory" mapping="accents_en.txt"/>
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"/>
  <filter class="solr.WordDelimiterGraphFilterFactory" catenateNumbers="1" generateNumberParts="1" protected="protwords_en.txt" splitOnCaseChange="0" generateWordParts="1" preserveOriginal="1" catenateAll="0" catenateWords="1"/>
  <filter class="solr.LengthFilterFactory" min="1" max="100"/>
  <filter class="solr.LowerCaseFilterFactory"/>
  <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords_en.txt"/>
  <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
  <charFilter class="solr.MappingCharFilterFactory" mapping="accents_en.txt"/>
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms_en.txt" expand="true" ignoreCase="true"/>
  <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"/>
  <filter class="solr.WordDelimiterGraphFilterFactory" catenateNumbers="0" generateNumberParts="1" protected="protwords_en.txt" splitOnCaseChange="0" generateWordParts="1" preserveOriginal="1" catenateAll="0" catenateWords="0"/>
  <filter class="solr.LengthFilterFactory" min="1" max="100"/>
  <filter class="solr.LowerCaseFilterFactory"/>
  <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords_en.txt"/>
  <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>

如果您想要精确搜索,最好使用
字符串
字段,而不是
文本
字段。请记住,精确搜索是很棘手的(请参阅和)。谢谢你,赫克托,我认为我的前进方向是修剪正文副本并使用“字符串”。否则,我会遇到最大字符限制。如果您想要精确搜索,最好使用
字符串
字段,而不是
文本
字段。请记住,精确搜索是很棘手的(请参阅和)。谢谢你,赫克托,我认为我的前进方向是修剪正文副本并使用“字符串”。否则,我会遇到最大的性格限制。
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
</analyzer>
<analyzer type="query">
</analyzer>
</fieldType>
select?defType=edismax&fl=tm_X3b_en_aggregated_field_title,tm_X3b_en_aggregated_field_title,tm_X3b_en_rendered_item&ps=0&q="cat%20fish"&qf=tm_X3b_en_rendered_item^1%20%20tm_X3b_und_rendered_item^1%20%20tm_X3b_en_aggregated_field^1%20%20tm_X3b_und_aggregated_field^1%20%20tm_X3b_zxx_aggregated_field^1%20%20tm_X3b_en_body^1%20%20tm_X3b_und_body^1%20%20tm_X3b_zxx_body^1&qs=0