Каков наилучший способ реализации «Пред.»? & Амп; & Quot; Далее & Quot; функционировать на одной странице результатов, но сохранить порядок предыдущего результата поиска?

Здесь есть похожий вопрос Лучший способ реализовать <следующий>, <предыдущая> ссылки на элементы из списка поиска
Но я не удовлетворен этим ответом, и мой случай немного отличается, и я хочу узнать лучший способ чаще.

У меня есть страница поиска, скажем, в поисках стихов. (в настоящее время данные взяты из MySQL, но я планирую проиндексировать их в Apache Solr)

Каждый результат на странице результатов поиска (скажем, / search? Keyword = flower&author = john) — это ссылка, по которой можно щелкнуть, и она будет перенаправлена ​​на страницу сведений о стихотворении.
(скажем, / poem / 1234 / Это лучшее из стихотворений)

Теперь мне нужны ссылки «предыдущая» и «следующая» на странице сведений, если эта страница нажата на странице результатов поиска. и он использует тот же порядок результатов поиска.

Я могу подумать о том, чтобы добавить полные параметры поиска на страницу сведений, поэтому «страница сведений с разбиением на страницы» на самом деле является результатами поиска, но perpage = 1.
Но я должен делать полный запрос каждый раз, показывая страницу с описанием стихотворения.

Интересно, есть ли лучший способ?

Спасибо и извиняюсь за мой плохой английский.

0

Решение

Что касается Solr, вы можете использовать DeepPaging, посмотрите здесь:
http://heliosearch.org/solr/paging-and-deep-paging/

Вы получаете ‘cursorMark’ от Solr, когда вы используете DeepPaging, который работает
как своего рода закладка для результатов вашего следующего запроса.

Вам придется запросить, но вы будете оставаться в том же наборе результатов, используя этот флаг,
поэтому, когда вы делаете это только для следующего документа, вам нужно будет получить только одну строку,
помните свое текущее положение, с чего начать,
сохранить метку курсора и повторить все это для следующего.

Запомнив предыдущие метки курсора, вы также можете вернуться назад.

С Уважением,

Markus

1

Другие решения

Вы должны получить стихотворение из БД для деталей. Но остальные параметры могут быть переданы со страницы списка, в том числе список (массив) идентификаторов стихотворений, извлеченных в выгружаемый список. Вы можете использовать это, пока не достигнете конца списка, чтобы получить список следующей страницы.

Вы также можете рассмотреть варианты кэширования, доступные на сервере. Расширение APC распространено на PHP.

0

По вопросам рекламы [email protected]