Solrでドメイン名をインデックスする

Solrでドメイン名のようなものを対象にするとき、どんなAnalyzerの設定が良いか考えてみると、PathHierarchyTokenizerFactoryを使って以下のような感じが良いのかなっと。

<fieldType name="domain_name" class="solr.TextField">
    <analyzer type="index">
        <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="." reverse="true"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory" />
    </analyzer>
</fieldType>

Fessではサンプルで定義されていたurlフィールド型をsiteに使っていたのだけど、どうもこれだといまいちな感じなので上記の設定に変更しようと思う。これにすると、www.codelibs.orgをインデックスると

www.codelibs.org
codelibs.org
org

が登録される。検索クエリの時はそのまま行くのでうまくマッチすればサブドメインとか含めてヒットするだろう。

カテゴリー: Fess パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.