2012-04-03 4 views
3

Javaからプログラムでsolrにアクセスしたいのですが、別のサービスとして使用するのではなく、HTTPリクエストを渡します。スタンドアロンサービスとして使用するのではなく、Javaからスピンアップして直接アクセスする方法はありますか?Solr:solrはJavaで書かれていますが、別のプロセスとして実行するのではなく、実行中のインスタンスをJava内から作成して制御するにはどうすればよいですか?

これができない場合は、アプリケーションにsolrをパッケージ化して、エンドユーザーが事前にシステムにsolrをインストールする必要はありません。私は自分のアプリケーションにsolrを使用させようとしていますが、別途インストールする必要はありませんが、可能です。

何らかの理由で私の質問全体がここで間違っていると感じるのですが、これは私のための新しい領域です、ありがとう!どんなオリエンテーションにも感謝します。

+0

何生のLuceneを使用してはどうですか? –

答えて

4

Solrは、HTTPインターフェイスを使用することをお勧めします。これは、サポートされている方法としてサポートされているためです。

しかし、あなたが何をしたいのかやりたい場合は、それは埋め込みと呼ばれています、そしてそれはあなたのコードに埋め込まれたSolrインスタンスを実行できるようになりますEmbeddedSolrServerを使用することにより、Solrjクライアントライブラリで可能です。

埋め込まれたサーバーの使用を示すコードスニペットはalso on the Solrj pageです:

// Note that the following property could be set through JVM level arguments too 
    System.setProperty("solr.solr.home", "/path-to-solr"); 
    CoreContainer.Initializer initializer = new CoreContainer.Initializer(); 
    CoreContainer coreContainer = initializer.initialize(); 
    EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, ""); 
関連する問題