add 14 languages search support

This commit is contained in:
shibukawa yoshiki
2014-01-20 02:09:21 -08:00
parent e5f58d686e
commit a01e56fde9
16 changed files with 451 additions and 3 deletions
+1 -1
View File
@@ -44,7 +44,7 @@ A development egg can be found `here
<http://bitbucket.org/birkenfeld/sphinx/get/tip.gz#egg=Sphinx-dev>`_.
'''
requires = ['Pygments>=1.2', 'docutils>=0.7']
requires = ['Pygments>=1.2', 'docutils>=0.7', 'snowballstemmer>=1.1']
if sys.version_info[:3] >= (3, 3, 0):
requires[1] = 'docutils>=0.10'
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+14 -2
View File
@@ -15,10 +15,15 @@ try:
# http://bitbucket.org/methane/porterstemmer/
from porterstemmer import Stemmer as CStemmer
CSTEMMER = True
PYSTEMMER = False
except ImportError:
from sphinx.util.stemmer import PorterStemmer
CSTEMMER = False
try:
from Stemmer import Stemmer as PyStemmer
PYSTEMMER = True
except ImportError:
from sphinx.util.stemmer import PorterStemmer
PYSTEMMER = False
english_stopwords = set("""
a and are as at
@@ -229,6 +234,13 @@ class SearchEnglish(SearchLanguage):
class Stemmer(CStemmer):
def stem(self, word):
return self(word.lower())
elif PYSTEMMER:
class Stemmer(object):
def __init__(self):
self.stemmer = PyStemmer('porter')
def stem(self, word):
return self.stemmer.stemWord(word)
else:
class Stemmer(PorterStemmer):
"""All those porter stemmer implementations look hideous;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long