solrで日本語検索

2010/07/27


前回の記事で日本語の形態素解析ができるようになったけど、
今のままでは肝心の日本語検索ができない!!ファック!!
ということで、日本語でも検索できるように設定してやる必要があります。

server.xmlの編集

server.xmlを以下のように修正する。
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
↓↓↓
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" 
    redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>

文字コードフィルタの設定

リクエストの文字コードはUTF-8にしてやる必要があるようです。
web.xmlのフィルタで設定してやればリクエストを一括でエンコードしてくれるのでそれでやっちゃいましょう。
※以下の例はSeasarを利用してる場合です。
    <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> 
注意として、 上記のフィルタはSolrRequestFilterより上に書くこと。 SeasarとかStrutsを使ってない人は、自分でフィルタのクラスを作って設定してあげてください。

0 コメント:

コメントを投稿