From a958ca3614a6c41c27b7dc1c186a51dd29444b61 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Fri, 12 Dec 2025 13:34:48 -0700 Subject: [PATCH] refactor: Adapt Meilisearch integration to v1.29.0 API Co-authored-by: aider (gemini/gemini-2.5-pro) --- apiserver/search.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/apiserver/search.py b/apiserver/search.py index 7942a8d..622cd97 100644 --- a/apiserver/search.py +++ b/apiserver/search.py @@ -29,24 +29,20 @@ def create_index(): json = dict(uid='qotnews', primaryKey='id') return meili_api(requests.post, 'indexes', json=json) -def update_rankings(): - json = ['typo', 'words', 'proximity', 'date:desc', 'exactness'] - return meili_api(requests.post, 'indexes/qotnews/settings/ranking-rules', json=json) - -def update_attributes(): - json = ['title', 'url', 'author'] - r = meili_api(requests.post, 'indexes/qotnews/settings/searchable-attributes', json=json) - json = ['id', 'ref', 'source', 'author', 'author_link', 'score', 'date', 'title', 'link', 'url', 'num_comments'] - r = meili_api(requests.post, 'indexes/qotnews/settings/displayed-attributes', json=json) - return r +def update_settings(): + json = { + 'rankingRules': ['typo', 'words', 'proximity', 'date:desc', 'exactness'], + 'searchableAttributes': ['title', 'url', 'author'], + 'displayedAttributes': ['id', 'ref', 'source', 'author', 'author_link', 'score', 'date', 'title', 'link', 'url', 'num_comments'], + } + return meili_api(requests.post, 'indexes/qotnews/settings', json=json) def init(): if not SEARCH_ENABLED: logging.info('Search is not enabled, skipping init.') return print(create_index()) - update_rankings() - update_attributes() + update_settings() def put_story(story): if not SEARCH_ENABLED: return @@ -54,13 +50,11 @@ def put_story(story): def search(q): if not SEARCH_ENABLED: return [] - params = dict(q=q, limit=settings.FEED_LENGTH) - r = meili_api(requests.get, 'indexes/qotnews/search', params=params, parse_json=False) + json = dict(q=q, limit=settings.FEED_LENGTH) + r = meili_api(requests.post, 'indexes/qotnews/search', json=json, parse_json=False) return r if __name__ == '__main__': init() - print(update_rankings()) - print(search('facebook'))