Я создаю поисковый API для поддержки интерфейса граненого поиска.Мое замешательство связано с необходимостью поддержки нумерации записей.По своей сути, мой API состоит из
- ресурса:
resource
- условий поиска: массив терминов:
terms[]
- возвращаемых данных:массив объектов:
data[{}]
- запись: объект с каждым полем в качестве ключа
record{}
- количество записей:
num
- смещение в базе данных:
page
- граней, позволяющих сузить возвращаемые данные: подмножество ключей записи
record{}
: facets[]
Для чего егоСтоит, мой бэкэнд - SQLite и nodejs.
Моя проблема возникает из-за того, что я возвращаю только num
записей как page
результатов.Принимая во внимание, что в любой момент времени в клиенте существует только num
записей, фасеты сузят результат только до этих num
записей.Тем не менее, я хочу сузить результаты для всего набора результатов .Это означает, что я должен отправлять запросы назад для каждого щелчка.При каждом щелчке по фасету мне приходится перестраивать свой исходный запрос, на этот раз с учетом совокупных щелчков по фасетам, и возвращать результаты клиенту.Я на правильном пути?Какой набор данных (структура и содержимое) будет наиболее эффективным для возврата?