Результат поискового запроса Sphinx отличается от активной записи - PullRequest
0 голосов
/ 06 февраля 2012

Я использую sphinx в своем приложении, и его конфигурация

Думающий сфинкс - 1.3.17

Активная запись - 2.3.5

После коммита - 1.0.10

Загадка - 1.0.10

Думающий сфинкс Распелл ​​- 1.1.1

Распелл ​​-1,3

Я добавил индекс для имени поля в таблице. И я ищу с текстом "Sony", который дает 20 записей в качестве результатов.

Результат Сфинкса: Запрос сфинкса: 'sony'

Sphinx (0.004703s) Найдено 43 результатов

Нагрузка компании (1,2 мс) ВЫБРАТЬ * ОТ "компании" ГДЕ ("компании". Id "IN (1,2,3,4,5,6,7,8,9,10,11,12,13) , 14,15,16,43,64,83,91)) * * тысяча двадцать одна

Здесь Сфинкс (0.004703s) Найдено 43 результатов но в sql он имеет только 20 идентификаторов. в результате получается 20 записей.

Если я выполняю поиск в той же таблице, используя активную запись, используя «LIKE» (где нижнее (имя) LIKE «% sony%») выдает 43 записи в результате.

почему сфинкс дает меньшие результаты?

пожалуйста, ответьте ..

1 Ответ

1 голос
/ 06 февраля 2012

Сфинкс вернет не более 1000 результатов и по умолчанию разбит на страницы по 20 элементов на страницу.Вы можете пройти его:

Article.search 'pancakes', :per_page => 100
...