summaryrefslogtreecommitdiffstats
path: root/sphinx/search/tr.py
blob: f4a865ca84e5141c199aba49106a7faf58f9dce3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""Turkish search language: includes the JS Turkish stemmer."""

from __future__ import annotations

from typing import TYPE_CHECKING, Dict, Set

import snowballstemmer

from sphinx.search import SearchLanguage


class SearchTurkish(SearchLanguage):
    lang = 'tr'
    language_name = 'Turkish'
    js_stemmer_rawcode = 'turkish-stemmer.js'
    stopwords: set[str] = set()

    def init(self, options: dict) -> None:
        self.stemmer = snowballstemmer.stemmer('turkish')

    def stem(self, word: str) -> str:
        return self.stemmer.stemWord(word.lower())