5
apt-get install  python-sphinx    
apt-get install  sphinxsearch    
mkdir rest    
cd rest/    
sphinx-quickstart    

再構成されたテキストで最初の記事を作成します。
http://s.yunio.com/!LrAsu

それをダウンロードして、コンピューターで untar し、cd に/rest/build/html移動し、chrome で index.rst を開きます。

再構成されたテキスト検索機能で次のことがわかりました。

1.漢字が検索できない
2.短い単語が検索 できない

添付ファイル 1 を参照してください。これは私の検索対象の記事であり、テキストで
ここに画像の説明を入力 見ることができ ます。is标准

添付2を参照してください。本文中の漢字は検索できません标准ここに画像の説明を入力 添付ファイル 3 を参照してください is。テキスト内の短い単語は検索できません。 ここに画像の説明を入力

どうすれば問題を解決できますか?

4

1 に答える 1

6

編集:

Sphinx は中国語の文全体に対してのみインデックスを作成します。これは、中国語の文にスペースがなく、Sphinx が単語を分割してインデックスを作成する場所を認識していないためです。searchindex.js生成されたインデックスのファイルを確認します。

「标准表达方式」という単語を検索してみてください。うまくいきます。^_^

Sphinx は、python scrpit を使用してインデックスを作成しますsearch.py。それを調べると、

stopwords = set("""
a  and  are  as  at
be  but  by
for
if  in  into  is  it
near  no  not
of  on  or
such
that  the  their  then  there  these  they  this  to
was  will  with
""".split())

それが短い言葉が見つからない理由です。インデックスに表示したいだけの場合は、これらの単語をこのリストから削除できます。

次の行も見つかります。

word_re = re.compile(r'\w+(?u)')

これは、Sphinx が単語を分割するために使用する正規表現です。これで、中国語の単語を索引付けできない理由がわかりました。

解決策は、中国語の分割サポートをこのファイルに追加することです。誰かがすでにそれをやっている: http://hyry.dip.jp/tech/blog/index.html?id=374

Sphinx 検索エンジンの回答:

他の人が役に立つかもしれない場合に備えて、ここに残します。mzjnさん、ご指摘ありがとうございます。

Sphinx は中国語の文字セットを認識できないため、デフォルトでは中国語をサポートしていません。単語を分割してインデックスを作成する場所がわかりません。中国語の単語のインデックス作成を行うには、構成ファイルを変更する必要があります。

具体的にはcharset_table、 、ngram_lenngram_charsinsphinx.confを変更して機能させる必要があります。適切な構成については、これらのキーワードをググることができます。

ただし、すべての漢字が単語として扱われるため、Sphinx は巨大なインデックスを生成する可能性があります。したがって、中国語のドキュメントのインデックスを本当に作成したい場合は、代わりにcoreseekを試してください。

于 2013-05-27T05:19:39.970 に答える