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