文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

solrで日本語を扱う

solrで日本語の検索をするには、いくつか設定があります。
tomcatを使う場合の設定をまとめます。

1,tomcat文字コード設定
$TOMCAT_HOME/conf/server.xmlに「URIEncoding="UTF-8" 」という設定します。

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
	<Service name="Catalina">
		<Connector URIEncoding="UTF-8" acceptCount="100" enableLookups="false" maxPostSize="5242880" maxThreads="300" minSpareThreads="10" port="8080" useBodyEncodingForURI="true"/>
・・・以下略・・・

2,solr管理画面のweb.xml文字コード設定
$SOLR_ADMIN/WEB-INF/web.xmlに、以下を追加して下さい。

  <filter>
    <filter-name>encodingfilter</filter-name>
    <filter-class>org.seasar.extension.filter.EncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingfilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping> 

これで、solrは正しくUTF-8を扱う事ができるようになり、日本語を扱う事ができるようになります。

Apache Solr入門 ―オープンソース全文検索エンジン

Apache Solr入門 ―オープンソース全文検索エンジン