Fix #2183 porterstemmer causes make json to fail

Drop PorterStemmer package support.
For now, PyStemmer can accelarate stemming process of snowballstemmer.
This commit is contained in:
Takeshi KOMIYA
2015-12-26 11:17:04 +09:00
parent 4234c88f21
commit 026fde47b0
2 changed files with 8 additions and 16 deletions

View File

@@ -3,6 +3,8 @@ Release 1.4 (in development)
Incompatible changes
--------------------
* Drop ``PorterStemmer`` package support. Use ``PyStemmer`` instead of ``PorterStemmer``
to accelerate stemming.
Features added
--------------
@@ -33,6 +35,7 @@ Bugs fixed
* C++, add support for user-defined literals.
* #1804: Now html output wraps overflowed long-line-text in the sidebar. Thanks to
Hassen ben tanfous.
* #2183: Fix porterstemmer causes `make json` to fail
Documentation
-------------

View File

@@ -12,18 +12,11 @@
from sphinx.search import SearchLanguage
try:
# http://bitbucket.org/methane/porterstemmer/
from porterstemmer import Stemmer as CStemmer
CSTEMMER = True
PYSTEMMER = False
from Stemmer import Stemmer as PyStemmer
PYSTEMMER = True
except ImportError:
CSTEMMER = False
try:
from Stemmer import Stemmer as PyStemmer
PYSTEMMER = True
except ImportError:
from sphinx.util.stemmer import PorterStemmer
PYSTEMMER = False
from sphinx.util.stemmer import PorterStemmer
PYSTEMMER = False
english_stopwords = set("""
a and are as at
@@ -231,11 +224,7 @@ class SearchEnglish(SearchLanguage):
stopwords = english_stopwords
def init(self, options):
if CSTEMMER:
class Stemmer(CStemmer):
def stem(self, word):
return self(word.lower())
elif PYSTEMMER:
if PYSTEMMER:
class Stemmer(object):
def __init__(self):
self.stemmer = PyStemmer('porter')