Ускорить Solr Pagination - PullRequest
       3

Ускорить Solr Pagination

0 голосов
/ 23 июня 2011

Я уже оптимизировал разбиение на страницы данных mysql, включив в идентификатор последний идентификатор с предыдущей страницы, поэтому вместо "LIMIT 200,20" это будет "WHERE id <$ last_id_from_previous_page LIMIT 20 "</strong>.

Это значительно ускорило разбиение на страницы данных MySQL.Теперь я ищу что-то похожее для моих запросов solr, и мне интересно, возможно ли это вообще.

Используя мою php-библиотеку solr, я выполняю такой поиск:Я указываю, что идентификатор должен быть меньше определенного числа в самом параметре поискового запроса?Что-то вроде "кошки и [id <200]" ..?Это даст мне прирост производительности с помощью Solr, как это происходит с MySQL? </p>

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

SOLR поддерживает указание начальной строки и количества возвращаемых строк.Это то, что люди используют для нумерации страниц. Как управлять «подкачкой страниц» с помощью Solr?

Если ваша библиотека поиска SOLR не поддерживает это, вам следует перейти непосредственно к интерфейсу поиска HTTP и напрямую поговорить с SOLR.

1 голос
/ 23 июня 2011

Только если поле, по которому вы фильтруете, является также полем, по которому вы сортируете, И это поле поддерживает концепцию сравнения "<". </p>

Например, если вы сортировали по фамилии в алфавитном порядке, ономожет быть трудно отфильтровать первые 20. Где, как если бы вы сортировали по числу, представляющему дату / время, вы можете сделать это.

Реально, нет никакого числового поля, которое я 'Я знаю, что это связано с документом только для этого одного поиска.

РЕДАКТИРОВАТЬ: Я бы задал более глубокий вопрос ... Вы уверены, что вам нужно оптимизировать нумерацию страниц так сильно?Если ваши поиски хорошо настроены для ваших пользователей, им редко придется проходить первую или вторую страницу результатов, чтобы найти то, что они ищут.Solr уже сохранит идентификаторы документов в кэше из исходного запроса, поэтому это должно уже работать довольно хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...