Использования Solr 4.6.0 следующий запрос возвращает не результатов:Нетых Результатов поиска Solr д = *: *
solr/select/?q=*:*
Но удаление параметра q
возвращает всех результатов, например:
solr/select/
конфигурация обработчика запроса содержит invarient:
<str name="q.alt">*:*</str>
Поскольку q.alt
должен определять запрос, если q
не предоставляется, не должны ли эти два вопроса быть идентичными и возвращать результаты? Каковы возможные причины, по которым первая форма не возвращает документы?
Дополнительный фон
Я использую django-haystack
2.1.0 на самом деле подключения к Solr, вышеуказанные запросы только «простейший случай провал» в тех случаях, когда пустые запросы поступают. Я перегрузил стог сена SearchForm
, чтобы предотвратить пустые запросы, возвращающие пустые наборы результатов, и это работало с гораздо более старой версией solr и haystack 1.4.
Сеноукладчик «полезно» заполняет q
с *:*
, если значение не указано. К сожалению, это нарушает запрос, как указано выше. I мог стоп-лоток обезьяны-патча, но я бы лучше исправить проблему в solr.
Обратите внимание, что запросы с заполненными (непустыми) параметрами q
работают, например.
solr/select/?q=test
Это приведет к возвращению результатов, как ожидалось.
Что делает запрос к solr/select? Q = *: * return? – jro
Я думаю, что @jro прав, '/' перед тем, как '?' Мешает. – cheffe
Он возвращает тот же результат (как и следовало ожидать - конечная косая черта не изменяется там, куда направляется запрос). Я добавлю немного больше деталей. – Hamish