1

Solrを使用していくつかの中国語ドキュメントのインデックスを作成しようとしていますが、Solrが一部のセグメント化された単語のインデックスを作成していないようです。

私が使用しているアナライザーはIKアナライザーhttp://code.google.com/p/ik-analyzer/です。

インデックスを作成するフィールド:

 <field name="hospital_alias_splitted" type="cn_ik" indexed="true" stored="true" multiValued="true" omitNorms="false"/>

cn_ikの定義:

<fieldType name="cn_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer> 
    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart ="false"/>
</analyzer>

たとえば、インデックスに登録される単語は「AB」(引用符なし)です。中国語のアナライザーを使用して単語をセグメンテーションした後、「AB」、「A」、「B」の3つのトークンを取得しました。

ご覧のとおり、最初のトークン「AB」は次の2つのトークンをカバーしています。

これらのトークンをSolrにフィードした後、Solrはインデックス「AB」、「A」、および「B」のみを無視しているように見えます。「A」または「B」を検索しても結果が得られないためです。

Solrが「AB」に索引を付けるとき、それはすでに索引付けされた単語の終わりに達しているので、「A」と「B」は無視されると思います。

LukeとAnalysisRequestHandlerを使用しても、それ以上のヒントは表示されません。これがSolrのバグまたは機能かどうかはわかりません。

コメントや提案はありますか?

ありがとう :)

4

1 に答える 1

0

(質問にコメントできないので、ここに入力します)

さまざまなアナライザーで試してみることをお勧めします。アナライザーを教えてくれなかったので、CJK などのデフォルトのものを使用していると思います。

私の知る限り、2 つの単語の間にスペースを入れない中国語や中国語のような言語用のアナライザーは他にもあります。彼らもあなたを助けるかもしれません。

ただし、そのフィールドに関するスキーマの一部を確認することは本当に素晴らしいことです...

編集:このリンクも確認できます

于 2012-09-24T00:29:48.930 に答える