編集:そこに空きがなく、スフィンクスは、インデックスを構築するための単語を分割する場所を知らないためが
スフィンクスが唯一の全体の中国文のインデックスを構築します。ファイルsearchindex.js
で生成されたインデックスを確認してください。
単語「标准表达方式」を検索してみてください。^_^
スフィンクスは、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)')
これは単語を分割するためにスフィンクスで使用される正規表現です。今、中国語を索引できない理由を知ることができます。
解決策は、このファイルに中国語単語分割のサポートを追加することです。誰かがすでにそれを行っています:スフィンクス検索エンジンのためのhttp://hyry.dip.jp/tech/blog/index.html?id=374
回答:
を、私はここで他の人がそれが役に立つかもしれません場合は、それを残します。 mzjnがそれを指摘してくれてありがとう。
中国の文字セットを認識できないため、スフィンクスはデフォルトで中国語をサポートしていません。単語を分割してインデックスを作成する場所はわかりません。構成ファイルを変更して中国語の索引付けを可能にする必要があります。
具体的には、あなたはそれを動作させるためにsphinx.conf
にcharset_table
、ngram_len
、ngram_chars
を変更する必要があります。あなたは適切な設定のためにこれらのキーワードをgoogleすることができます。
しかし、スフィンクスはすべての単一の中国語文字が単語として扱われるため、巨大なインデックスを生成することがあります。したがって、実際に中国語の文書のインデックスを作成する場合は、代わりにcoreseekを試してください。
「is」の場合、それはストップワードであると思います。 http://en.wikipedia.org/wiki/Stop_words – Naruil
異なるエンコードを使用していますか?たぶんそれは問題です。ブラウザはutf8を使用しています。あなたが探したいファイルのエンコーディングは何ですか? – User