目次

内容

参考情報

関口宏司のLuceneブログ

  • ブログ検索にSolrを使用しているので、とても参考になる
  • Solrのデモはこちら

インストール

Javaのインストール

solrのインストール

  • コンバイル済みのものを利用
    # export SOLR=/usr/local/solr
    # cd /usr/local/
    # wget http://ftp.riken.jp/net/apache//lucene/solr/3.3.0/apache-solr-3.3.0.tgz
    # tar -xzvf apache-solr-3.3.0.tgz
    # ln -s apache-solr-3.3.0 solr

gosenのインストール

  • コンパイル済みのものを取得
    # cd /usr/local/solr/example/solr
    # mkdir lib
    # wget -P lib https://lucene-gosen.googlecode.com/files/lucene-gosen-1.1.1-ipadic.jar

schema.xmlの修正

  • vi conf/schema.xmlで次を追加
    <fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100">
        <analyzer>
            <tokenizer class="solr.JapaneseTokenizerFactory"/>
        </analyzer>
    </fieldType>

起動

  • フォアグラウンドで起動する場合
    # cd /usr/local/solr/example
    # java -jar start.jar

tomcatにインストールする場合

TomCatの準備

  • Tomcat/インストール(ソース)を参考
  • /usr/local/tomcat7/conf/server.xml のConnectorノード(port="8080"とport="8009")にURIEncodingとuseBodyEncodingForURIを追加
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8" useBodyEncodingForURI="true" /> 

Solrのインストール

  • Solrの必要なファイルを移植する
    # cp /usr/local/solr/example/webapps/solr.war /usr/local/tomcat7/webapps
    # mkdir /usr/local/tomcat7/solr/
    # mv /usr/local/solr/example/solr/{lib,bin,conf,data,solr.xml} /usr/local/tomcat7/solr/
  • URLエンコード用のクラスを用意 [#j93a6cc3]
    # mkdir -p /usr/local/tomcat7/webapps/solr/WEB-INF/classes/filters
    # cd /usr/local/tomcat7/webapps/solr/WEB-INF/classes/filters
    # wget http://www.javaroad.jp/opensource/SetCharacterEncodingFilter.class
  • 一度Tomcatを起動
    # /etc/init.d/tomcat7 start

/usr/local/tomcat7/webapps/solr/WEB-INF/web.xmlを編集

  • 環境変数の指定
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/tomcat7/solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
  • URLエンコード用フィルタを指定(最初のフィルタとして)
    <filter>
      <filter-name>Set Character Encoding</filter-name>
      <filter-class>filters.SetCharacterEncodingFilter</filter-class>
      <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>Set Character Encoding</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
  • Tomcat7を再起動
    # /etc/init.d/tomcat7 stop
    # /etc/init.d/tomcat7 start

管理コマンド

ドキュメントの削除

  • port番号は適宜調整(Tomcatの場合は8080)
    # curl http://localhost:8983/solr/update -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>'
    # curl http://localhost:8983/solr/update?commit=true

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 19:27:03 (442d)