2011-09-08 19 views
0

我有一個配置SOLR服務器,其中有索引的所有結果。 查詢所有結果確實會給出記錄。沒有從SOLR結果與草垛查詢,而數據確實存在

./manage.py shell 
>>> from haystack.query import SearchQuerySet 
>>> SearchQuerySet().all().count() 
2086 
>>> SearchQuerySet().all()[1000].result_top_level_category 
u'tuinieren' 

但是,當我開始查詢這些記錄時,我沒有得到任何結果。

>>> SearchQuerySet().all().filter(result_top_level_category='tuinieren').count() 
0 
>>> SearchQuerySet().all().filter(result_top_level_category=u'tuinieren').count() 
0 

你能給我一個線索或解決這個問題嗎?


SOLR模式由manage.py build_solr_schema生成。這是result_top_level_category領域的相關行:

<field name="result_top_level_category" type="string" indexed="false" 
     stored="true" multiValued="false" /> 

特的問題出現在Solr模式進行了更新後已經發生;另一個字段名稱被重新引入。該字段名在all()查詢中返回。

回答

0

有時問一個問題單獨澄清!

查看SOLR模式文檔(http://wiki.apache.org/solr/SchemaXml),很明顯該字段需要被編入索引以便可查詢或可排序。

result_top_level_category = CharField(indexed=True, faceted=True, 
             model_attr='top_level_category', null=True) 

查詢特定字段現在可用。