2016-04-01 9 views
0

私はJavaアプリケーションを作成しており、LuceneでXmlファイルのインデックスを作成したいので、特定のターゲットを持つ薬物を検索できます。ファイルサイズは400MBで、8000件以上のドラッグエントリがあります。Luceneを使用した単一のXMLファイルのインデックス

<drug type="biotech" created="2005-06-13" updated="2015-11-27"> 
    <drugbank-id primary="true">DB00001</drugbank-id> 
    <drugbank-id>BIOD00024</drugbank-id> 
    <drugbank-id>BTD00024</drugbank-id> 
    <name>Lepirudin</name> 
    .... 
    <targets> 
     <target position="1"> 
      <id>BE0000767</id> 
      <name>Epidermal growth factor receptor</name> 
      .... 
     </target> 
     .... 
    </targets> 
</drug> 
<drug> 
.... 
</drug> 

1つの薬物エントリが1つのドキュメントになるようにこのファイルのインデックスを作成するにはどうすればよいですか? 誰かが役に立つリンクやリソースを持っている場合、このXmlのインデックス作成方法に関するヒントを教えてください:)

答えて

1

最も柔軟性の高い戦略は通常、ファイルを読み込んで適切なものに変換する小さなJavaアプリケーションです。 Solrでの索引付けのためのフォーマット。そうすれば、Solrが受け取る前に特定のフィールドを簡単に事前処理することができます。

もう1つのオプションはuse XSL to transform the XML file into something that Solr understandsです。これは、サーバー側(XSLTUpdateRequestHandlerリンク時)またはクライアント側(XML文書を更新要求に変換して標準要求ハンドラに送信する)のいずれかで使用できます。

+0

こんにちは、返信ありがとう、私はこれのためにembeddedSolrServerを使うべきですか?プラグインが使用されているときにapp/pluginが起動して複数回クエリーされたときにxmlファイルのインデックスを作成し、次回の起動時にファイルのインデックスを再作成したい。プログラムごとに各薬物フィールドを前処理し、索引付けする必要がありますか、schema.xmlを使用できますか? schema.xmlの作成と使用に関する良いチュートリアルはありますか? – user1171426

関連する問題