Нет результатов от SOLR с запросом стога сена, в то время как данные существуют - PullRequest
0 голосов
/ 08 сентября 2011

У меня настроен сервер 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().

1 Ответ

0 голосов
/ 08 сентября 2011

Иногда задавая вопрос, один проясняется!

Глядя на документацию схемы SOLR (http://wiki.apache.org/solr/SchemaXml), становится ясно, что поле должно быть проиндексировано, чтобы иметь возможность запроса или сортировки.

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

Запрос определенных полейсейчас работает.

...