Думающий Сфинкс возвращает все результаты с пустым запросом

#sphinx #thinking-sphinx

#сфинкс #мышление-sphinx

Вопрос:

Всякий раз, когда я отправляю пустой запрос Thinking Sphinx, он возвращает все элементы в моей таблице. Я бы предположил, что пустой запрос вернет обратно null или пустой массив. Есть ли у Thinking Sphinx возможность предотвратить такое поведение.

Так, например, следующий код вернет все строки в Article:

 Article.search
  

Ответ №1:

Если вы не укажете условия поиска, то поиск будет (по умолчанию) осуществляться для всего этого типа (тип объекта будет единственным применяемым фильтром), и поэтому вы получите все обратно. Вы должны просто проверить свой запрос, прежде чем отправлять его в Thinking Sphinx, и не возвращать результатов, если передается пустой запрос.