lunr. js lunr, как сделать пейджинг, нумерацию страниц или получить каждую страницу? - PullRequest
0 голосов
/ 18 января 2020

, так как лунр уже создал индекс,

Я хочу получить первые 10 записей (стр. 1) на основе любого результата поиска (поиск, что я могу получить весь набор данных в качестве результата?)

во-вторых, я хочу получить страницу 2, 10 записей, смещение = 10, (начиная с 11, следующие 10 записей)

и так далее.

Пока похоже, что лунр может искать только ключевые слова. Нет нумерации страниц.

1 Ответ

0 голосов
/ 18 января 2020

У меня есть способ обойти это.

      idx.search('')  

             or 

             idx.search(' ')

             or 

              idx.search('  ')

Поиск пустой, или пробел, или 2 пробела, вы получите весь набор данных в качестве результата.

Для страницы 1: вы ищите idx.search (''), чтобы получить весь набор данных как результат. Теперь вы используете для l oop сквозной, получите только от 1 до 10 записей, затем разбиваете для l oop.

Для страницы 2: вы снова выполняете тот же поиск по idx.search (''), вам следует получите тот же набор результатов, что и в прошлый раз, но вы в этот раз используете для l oop, с 11 до 20. Поскольку смещение равно 10 (вы пропускаете первые 10).

и т. Д.

Для страницы x: вы снова выполняете тот же поиск idx.search (''), вы должны получить тот же набор результатов, что и в прошлый раз, но на этот раз вы используете для l oop, от (x * 10 + 1) до ((x * 10 + 1) +10). Поскольку смещение равно x * 10 (сначала пропускается x * 10).

...