Я создал поисковый API для сайта, над которым я работаю.Например, некоторые из поддерживаемых им запросов:
/api/search
- возвращает популярные результаты поиска /api/search?q=car
- возвращает результаты, соответствующие термину "автомобиль" /api/search?start=50&limit=50
- возвращает 50 результатов, начиная со смещения 50 /api/search?user_id=3987
- возвращает результаты, принадлежащие пользователю с идентификатором 3987
Эти аргументы запроса можно смешивать и сопоставлять.Это реализовано под капотом с использованием Solr фасетного поиска.
Я работаю над добавлением аргументов запроса, которые могут фильтровать результаты на основе числового атрибута.Например, мне может потребоваться возвращать результаты только в том случае, если количество просмотров превышает 100. Мне интересно, как лучше всего указывать это.
Solr использует этот способ:
/api/search?views:[100 TO *]
Google, кажется, делает что-то вроде этого:
/api/search?viewsisgt:100
Ни один из них не кажется мне очень привлекательным.Есть ли лучшая практика для определения этого вида термина запроса?Есть предложения?