トップ  eラーニング  書籍  辞典

言語

開発環境

技術・仕様

ライブラリ/Framework/CMS

ミドル/OS/ネットワーク

その他

Loarding…

Solrにドキュメントを登録する方法(簡単なJavaのクライアントプログラムを作成)

トップSolrJavaのクライアントプログラムよりドキュメント登録

概要

このページでは、簡単なJavaのクライアントプログラムを作成して、 solrにドキュメントを登録する方法について掲載しています。

WindowsにSolrをインストールする方法」で 使用できるようにしたダウンロード媒体付属のサンプルに、簡単なJavaのクライアントプログラムを作成&使用して、ドキュメントを登録する方法を紹介しています。

Solrにリクエストを送るJavaのクライアントプログラムの作成

以下のサンプルコードを作成&コンパイルします。

import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrInputDocument;
public class SolrRegistSample {
  public static void main(String[] args) throws Exception {
    // 初期化
    // 参考)CommonsHttpSolrServer」は、solr 4.0.ではHttpSolrServerに変更となった
    HttpSolrServer  server
         = new HttpSolrServer ("http://localhost:8080/solr/collection1");
    // ID=1の文書の類似文書を探すクエリを設定
    SolrInputDocument doc = new SolrInputDocument();
    doc.addField("id","SOLR9999");
    doc.addField("name","Solr, the Enterprise Search Server");
    doc.addField("manu","Apache Software Foundation");
    doc.addField("cat","software");
    doc.addField("features","Advanced Full-Text Search...");
    doc.addField("price", 0);
    doc.addField("popularity",10);
    doc.addField("inStock",true);
    doc.addField("incubationdate_dt","2006-01-17T00:00:00.000Z");
    // 検索実行
    UpdateResponse response = server.add(doc);
    server.commit();
    // 結果表示
    System.out.println(response.toString());
  }
}

Solrにドキュメントを登録

プロンプトより、サンプルプログラムを実行します。 登録が成功するとid:SOLR9999で1件データが取得できるようになります。

ブラウザのアドレスバーに以下を入力してリクエストを送れば結果が表示されます。

http://localhost:8080/solr/collection1/select?q=id:SOLR9999&wt=xml&indent=true

ブラウザに以下のように表示されれば成功です。

<?xml version="1.0" encoding="UTF-8"?>
<response>

<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1</int>
<lst name="params">
<str name="indent">true</str>
<str name="q">id:SOLR9999</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="1" start="0">
<doc>
<str name="id">SOLR9999</str>
<str name="name">Solr, the Enterprise Search Server</str>
<str name="manu">Apache Software Foundation</str>
<arr name="cat">
<str>software</str>
</arr>
<arr name="features">
<str>Advanced Full-Text Search...</str>
</arr>
<float name="price">0.0</float>
<str name="price_c">0,USD</str>
<int name="popularity">10</int>
<bool name="inStock">true</bool>
<date name="incubationdate_dt">2006-01-17T00:00:00Z</date>
<long name="_version_">1430767135010848768</long></doc>
</result>
</response>

戻る