2016-08-08 3 views
0

私は4.7から6.1にアップグレードしています。以前はsolrconfig.xmlにフィールドを指定していましたが、管理されたスキーマに移行したいので、いつでも新しいフィールドをJSONに追加できます。Solr 6.1がJSONの単一値を配列に変換するのはなぜですか?

6.1管理されたスキーマは文字列の値や数値などを配列に変換する問題です。 Solrは配列の値をソートすることができず、単一値の日付を単一の値を持つ配列に変換することができないので、このソートはエラーになります。

SolrConfig.xml 6.1はこれを持っている:

<processor class="solr.AddSchemaFieldsUpdateProcessorFactory"> 
    <str name="defaultFieldType">strings</str> 
    <lst name="typeMapping"> 
    <str name="valueClass">java.lang.Boolean</str> 
    <str name="fieldType">booleans</str> 
    </lst> 
    <lst name="typeMapping"> 
    <str name="valueClass">java.util.Date</str> 
    <str name="fieldType">tdates</str> 
    </lst> 
    <lst name="typeMapping"> 
    <str name="valueClass">java.lang.Long</str> 
    <str name="valueClass">java.lang.Integer</str> 
    <str name="fieldType">tlongs</str> 
    </lst> 
    <lst name="typeMapping"> 
    <str name="valueClass">java.lang.Number</str> 
    <str name="fieldType">tdoubles</str> 
    </lst> 
</processor> 

は私が特異なstringsとしてデータ型を作ってみました - >stringしかし、それは動作しませんでした。

ありがとう!すでに作成

答えて

0

フィールド特異データ型に上記のスニペットを変更する問題

(自分の質問に答えるために申し訳ありませんが、他の誰がやったの前に私は答えを見つけた)

...しかし作品です

異なるsolrconfig.xmlを使用してフィールドを動的に作成している場合は、そのフィールドをリロードして単一フィールドにすると、デフォルトは期待通りに機能しますが、すでに定義済みです。

これを解決するには、コアをアンロードして削除し、再作成し、solrconfig.xmlを目的の設定に変更してそこにドキュメントを追加します。

それ以降はうまくいきました。

UPDATE

私は/var/solr/data/CORE_NAME/confで見つかったmanage-schemaファイルを編集して、デフォルトの動作を残したいフィールドを事前定義することをお勧めします。また、フィールドを追加することで、管理インターフェースでこれを行うこともできます。

関連する問題