summaryrefslogtreecommitdiff
path: root/searx/plugins/autodetect_search_language.py
blob: 3bcb80098f6d6032dbe40dabac2e366d31c31fb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import fasttext
import os
from flask_babel import gettext

name = gettext('Autodetect search language')
description = gettext('Automatically detect the query search language and switch to it.')
preference_section = 'general'
default_on = False


fasttext.FastText.eprint = lambda x: None
model = fasttext.load_model(os.path.dirname(os.path.realpath(__file__)) + '/../data/lid.176.ftz')


def pre_search(request, search):
    lang = model.predict(search.search_query.query, k=1)
    if lang[1][0] >= 0.3:
        search.search_query.lang = lang[0][0].split('__label__')[1]
    return True