summaryrefslogtreecommitdiff
path: root/sphinx/search/en.py
diff options
context:
space:
mode:
authorshibukawa yoshiki <yoshiki at shibu.jp>2014-01-20 02:09:21 -0800
committershibukawa yoshiki <yoshiki at shibu.jp>2014-01-20 02:09:21 -0800
commita01e56fde9e3168cd54c3da6645e5148b95b7cfe (patch)
treec3873d6fd0d7d6328a4aba16b6b619e0bfe2a354 /sphinx/search/en.py
parente5f58d686e1ddbc95743282ea929d1f07b6b635f (diff)
downloadsphinx-git-a01e56fde9e3168cd54c3da6645e5148b95b7cfe.tar.gz
add 14 languages search support
Diffstat (limited to 'sphinx/search/en.py')
-rw-r--r--sphinx/search/en.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/sphinx/search/en.py b/sphinx/search/en.py
index 9f3a9bf7d..d5141f405 100644
--- a/sphinx/search/en.py
+++ b/sphinx/search/en.py
@@ -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;