0

Django アプリで使用する予定のこのインターフェイスで遊んでいるときに、次のエラー トレースに遭遇しました。

import sunburnt
si = ("http://localhost:8984/solr/sprod/") sunburnt.SolrInterface si.query(global_attr_article_type='casual shoes').execute()
トレースバック (最新の呼び出しが最後):
ファイル ""、1 行目、
ファイル "/usr/local/lib/python2.7内/dist-packages/sunburnt/search.py​​"、599 行目、実行
結果 = self.interface.search(**self.options())
ファイル "/usr/local/lib/python2.7/dist-packages/ sunburnt/sunburnt.py」、212 行目、検索で
self.schema.parse_response(self.conn.select(params))
ファイル「/usr/local/lib/python2.7/dist-packages/sunburnt/schema.pyを返す」 "、510 行目、parse_response で
SolrResponse(self, msg) を返す
ファイル "/usr/local/lib/python2.7/dist-packages/sunburnt/schema.py"、652 行目、init
self.result = SolrResult(schema, result_node)
ファイル "/usr/local/lib/python2. 7/dist-packages/sunburnt/schema.py"、691 行目、init
self.docs = [schema.parse_result_doc(n) for n in node.xpath("doc")]
ファイル "/usr/local/lib/ python2.7/dist-packages/sunburnt/schema.py"、519 行目、parse_result_doc
return dict([self.parse_result_doc(n) for n in doc.getchildren()])
ファイル "/usr/local/lib/python2 .7/dist-packages/sunburnt/schema.py"、行 516、parse_result_doc
値 = [self.parse_result_doc(n, name) for n in doc.getchildren()]
ファイル "/usr/local/lib/python2.7/dist-packages/sunburnt/schema.py"、525 行目、parse_result_doc
の戻り名、SolrFieldInstance.from_solr(field_class、doc.text または '').to_user_data()
ファイル"/usr/local/lib/python2.7/dist-packages/sunburnt/schema.py"、326 行目、from_solr
self.value = self.field.from_solr(data)
ファイル "/usr/local/lib/python2 .7/dist-packages/sunburnt/schema.py"、161 行目、from_solr
return self.normalize(value)
ファイル "/usr/local/lib/python2.7/dist-packages/sunburnt/schema.py"、 219 行目、正規化中
(value, self. class , self.name))
SolrError: クラス 'sunburnt.schema.SolrFieldType_SolrIntField_indexed_True_omitNorms_True_stored_True' (フィールド デザイナー) の無効な値です `

インデックス付きドキュメントのデザイナー フィールドは実際には空です
<arr name="designer"> <int/> </arr> <arr name="discount"> <float>0.0</float> </arr> <arr name="discount_label"> <str/> </arr>

そして、ここにスキーマが持っているものがあります
<fieldType name="integer" class="solr.IntField" omitNorms="true"/>
..
...
....
<field name="designer" type="integer" indexed="true" stored="true"/>

これはフィールドが空であることと関係があることは理解していますが、スキーマではこのフィールドの 'required' = true がどこにも言及されていないため、実際にはどうなっているのか疑問に思います。

4

1 に答える 1

0

私は推測する

<arr name="designer"> <int/> </arr> 

Solr に多値整数フィールドを格納しようとしていることを意味しますか? ただし、のフィールド定義にdesignerは、単一値の整数が必要です。ドキュメントのデザイナー フィールドがない場合、インデックスを作成するドキュメントには、このフィールドは何もありません。

于 2013-02-13T02:49:57.673 に答える