2011-07-01 8 views
2

私はLucene/Solr 4をさまざまな機能をテストするために実行しています。 "クラスタリング"もあります。 現在、100万のドキュメントがインデックスに登録されています。すべてのドキュメントには、次のフィールドがあります。どのように(人参)クラスタリングsolrで動作しますか?

ID (unique Key) Example1: 10245 
       Example2: 24974 
TOPIC (Keywords of the document) Example1: "disaster/japan/nuclear power station" 
           Example2: "world/japan/nuclear power" 
HEADLINE (1 line of text): Example1: "explosion at nuclear power plant in japan" 
          Example2: "news about japans nuclear power plant" 
TEXT (the full text): "In the Japanese nuclear power plant in Fukushima..." 

すべてのフィールドがインデックスに登録され、格納されています.exapt TEXTは索引付きであり、格納されません。あなたはあなたが見るの例を探している場合TOPICは異なりますが、日本は同じであることを、

<str name="carrot.title">TOPIC</str> 
    <str name="carrot.snippet">HEADLINE</str> 

: は、私は、次の特定の構成を使用しています。このようにsolr/carrotを設定することは可能ですか?example1とexample2は1つのクラスタになりますか?一致する "日本"のために!

さらに、「ニュース/原子力」のような3番目のTOPICがありますが、内部に「japan」はありませんが、HEADLINEとTEXTは「japans power plant」という言葉を使用しています。 1つのクラスターで3つのニュースを受け取るには、どのようなソル/ニンジンの設定が関係していますか?

ありがとうございました!

答えて

4

Carrot2は、自然/非構造化テキストをクラスタリングするように設計されています。このようなアルゴリズムでは、人間が完璧な結果を得ることはめったにありません。残念なことに、このようなアルゴリズムは「デバッグ」するのも難しいです。生成するクラスタは、文書内で言葉が出現する頻度などの多くの要素に依存します。あなたの具体的な例では、あまりにも頻繁にクラスタが形成されるという言葉は、あなたが引用したすべての文書に現れます。

  • は、例えば、スペースではなくスラッシュが続く期間でキーワードを分離してみてください。ここでは

    あなたは、クラスタを微調整するために試してみたいことがありますいくつかのヒントです"災害。日本原子力発電所"。そうすれば、Carrot2は、「原子力発電所」などの単語列を個々の単語ではなくフレーズとして扱います。

  • 別のCarrot2クラスタリングアルゴリズムを試してみてください。 STC。

  • 完全なストーリーのテキストフィールドが保存されている(または最初の段落のように)場合は、carrot.titleのHEADLINEとcarrot.snippetのフルテキスト/抜粋を使用します。

  • Carrot2アルゴリズムの特定の設定で再生します。このための最良のツールはCarrot2 Clustering Workbenchです。 Solrに接続する方法は次のとおりです。http://wiki.apache.org/solr/ClusteringComponent#Tuning_Carrot2_clustering

+0

ありがとう、面白いアイデアがたくさんあります。私は試してみます。 –

関連する問題