1

我正在使用我的自定义插件来索引 solr 中的一堆 xml。该插件所做的是“标记”文档并将这些标记(逗号分隔)添加到多值字段中。

这是我在日志中的内容:

...
[MULTIVALUE CAR TYPE - final result] -> 4 Dr. Wagon with Wagon, 4X4,
...

这是我在刻面时在 solr 实例中实际拥有的内容:

<lst name="car_type_multivalue">
    <int name="convertible">331</int>
    <int name="4">152</int>
    <int name="x">152</int>
    <int name="wagon">121</int>

这是该字段的定义方式:

 <fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
     <analyzer>
       <tokenizer class="solr.WhitespaceTokenizerFactory"/>
       <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
       <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
       <filter class="solr.LowerCaseFilterFactory"/>
       <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
     </analyzer>
 </fieldType>

如您所见,4x4 被正确添加到文档的标签中,但是当它被分面时,它实际上被分为“4”和“x”。我的字段类型似乎不允许这样的事情,所以问题是为什么 solr 会这样?所有其他值都可以正常工作,但不是“4x4”。我可以假设每次我在我的标签中找到一个“x”,无论如何它都会被拆分吗?谢谢大家!

4

0 回答 0