Джанго стог сена, как FQ (Solr) заполнены - PullRequest
0 голосов
/ 03 сентября 2011

Я использую solr в качестве бэкэнда поиска с django-haystack. При просмотре журналов я вижу, что запрос к solr заполнен "fq".

INFO: [] webapp=/solr path=/select/ params={fl=*+score&start=0&q=yyy&wt=json&fq=django_ab:(xxx)&rows=10} hits=5 status=0 QTime=0

Я сомневаюсь, как этот параметр "fq" заполняется стогом сена. Я использую SearchQuerySet.filter, чтобы добавить поиск в документах Solr. Еще одна вещь, которую я заметил, независимо от того, что поисковый запрос fq остается неизменным. Относится ли fq к приложению django, чья модель индексируется? Должен ли я беспокоиться о том, чтобы оно было постоянным.

Ответы [ 2 ]

1 голос
/ 10 марта 2016

Сам стог сена использует параметр fq, чтобы возвращать только попадания, которые имеют определенный Джанго ContentType (в действительности определенный класс модели).

О SOLR's fq:

Этот параметр разрешен несколько раз в запросах. Результирующее подмножество попаданий определенного параметра fq кэшируется. Таким образом, имеет смысл использовать fq для часто извлекаемых подмножеств (например, таких как поиск по категориям, которые используются в меню на вашем сайте).

Чтобы использовать параметр fq через Haystack, используйте narrow() в SearchQuerySet:

http://django -haystack.readthedocs.org / ен / последний / searchqueryset_api.html? Выделить = узкий # SearchQuerySet.narrow

1 голос
/ 15 ноября 2011

Вы можете проверить здесь https://github.com/toastdriven/django-haystack/blob/master/haystack/backends/solr_backend.py

, если для Узких_запросов нет Нет: kwargs ['fq'] = список (узких_просмотров)

...