0

在我打算在 Django 应用程序中使用这个界面时,我遇到了以下错误跟踪:

import sunburnt
si = ("http://localhost:8984/solr/sprod/") sunburnt.SolrInterface si.query(global_attr_article_type='casual shoes').execute()
Traceback(最近一次调用最后):
文件“”,第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 中
返回 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。得到孩子()]
文件“/usr/local/lib/python2.7/dist-packages/sunburnt/schema.py”,第 525 行,在 parse_result_doc
返回名称中,SolrFieldInstance.from_solr(field_class, doc.text or '').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
返回 self.normalize(value)
文件“/usr/local/lib/python2.7/dist-packages/sunburnt/schema.py”,第 219 行,在 normalize
(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 回答