mirror of
https://github.com/searxng/searxng.git
synced 2026-08-05 14:51:25 +00:00
[feat] autocomplete: add kagi autocompleter
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
- ``dbpedia``
|
||||
- ``duckduckgo``
|
||||
- ``google``
|
||||
- ``kagi``
|
||||
- ``mwmbl``
|
||||
- ``naver``
|
||||
- ``privacywall``
|
||||
|
||||
@@ -157,6 +157,24 @@ def google_complete(query: str, sxng_locale: str) -> list[str]:
|
||||
return results
|
||||
|
||||
|
||||
def kagi(query: str, sxng_locale: str) -> list[str]:
|
||||
"""Autocomplete from Kagi."""
|
||||
|
||||
args: dict[str, str] = {'q': query}
|
||||
|
||||
if '-' in sxng_locale:
|
||||
args['r'] = sxng_locale.split('-')[1].lower()
|
||||
|
||||
resp = get("https://kagisuggest.com/api/autosuggest?" + urlencode(args))
|
||||
results: list[str] = []
|
||||
|
||||
if resp.ok:
|
||||
data = resp.json()
|
||||
if len(data) > 1:
|
||||
results = data[1]
|
||||
return results
|
||||
|
||||
|
||||
def mwmbl(query: str, _sxng_locale: str) -> list[str]:
|
||||
"""Autocomplete from Mwmbl_."""
|
||||
|
||||
@@ -380,6 +398,7 @@ backends: dict[str, t.Callable[[str, str], list[str]]] = {
|
||||
'dbpedia': dbpedia,
|
||||
'duckduckgo': duckduckgo,
|
||||
'google': google_complete,
|
||||
'kagi': kagi,
|
||||
'mwmbl': mwmbl,
|
||||
'naver': naver,
|
||||
'privacywall': privacywall,
|
||||
|
||||
@@ -41,8 +41,8 @@ search:
|
||||
# Filter results. 0: None, 1: Moderate, 2: Strict
|
||||
safe_search: 0
|
||||
# Existing autocomplete backends: "360search", "baidu", "bing", "brave", "dbpedia", "duckduckgo", "google",
|
||||
# "yandex", "privacywall", "mwmbl", "naver", "seznam", "sogou", "startpage", "swisscows", "quark", "qwant",
|
||||
# "wikipedia" - leave blank to turn it off by default.
|
||||
# "kagi", "yandex", "privacywall", "mwmbl", "naver", "seznam", "sogou", "startpage", "swisscows", "quark",
|
||||
# "qwant", "wikipedia" - leave blank to turn it off by default.
|
||||
autocomplete: ""
|
||||
# minimun characters to type before autocompleter starts
|
||||
autocomplete_min: 4
|
||||
|
||||
Reference in New Issue
Block a user