開発Blog

IM-ContentsSearchでの「あいまい検索」

投稿日:

最近、IM-ContentsSearchの導入事例が増えてきており、以下のようなご質問を受けることが多くなって来ました。

Q:IM-ContentsSearchで「あいまい検索」は可能でしょうか。

例)
1. 全角カタカナ⇔半角カタカナ
2. 全角英数⇔半角英数
3. 英大文字⇔英小文字
4. 表記揺れ
(ⅰ) ユーザ、ユーザー
(ⅱ) ブ・ヴ、ヂ・ジ
(ⅲ) ヰ、ゑ、いすゞ
5. 同義語

--- 以下回答 ---

IM-ContentsSearchの標準設定では実現できませんが、Solrに設定されている
テキストフィールド(text_ngramやtext_morph)をカスタマイズする事で、一部の機能が実現可能になります。

  1. 全角カタカナ⇔半角カタカナ
  2. 全角英数⇔半角英数

IM-ContentsSearch Ver.7.1では実現できません。
IM-ContentsSearch Ver.7.2をご利用の場合は、MappingCharFilterFactoryを利用することで実現可能です。
このFilterは単純にテキストを置換するだけのものなので、それぞれの変換ルールを設定ファイルを定義する必要があります。また、「表記揺れ」や「同義語」に対応するためには、形態素解析を利用する必要があります。

基本的には、すべて全角に変換

半角→全角

ア=>ア
ガ=>ガ
プ=>プ

全角→半角

A=>A

記号→全角カナ

㌔=>キロ
㌘=>グラム

  1. 英大文字⇔英小文字
    LowerCaseFilterFactoryを利用することで実現可能です。
    MappingCharFilterFactoryの後に定義して下さい。

  2. 表記揺れ
    (ⅰ) ユーザ、ユーザー
    PatternReplaceFilterFactoryを利用することで実現可能です。このFilterは正規表現を用いてトークンを置換する事が可能です。
    pattenの定義に例えば、4文字目以降の最後の「ー」を削除するような正規表現を記述することで対応して下さい。

(ⅱ) ブ・ヴ、ヂ・ジ
先述のMappingCharFilterFactoryで実現可能です。

(ⅲ) ヰ、ゑ、いすゞ
ヰ・ゑに関しては先述のMappingCharFilterFactoryで実現可能です。
いすゞに関しては繰り返し文字を判定することは出来ませんが、5.の同音異義語と同様に辞書に登録することで特定の単語であれば対応可能です。

  1. 同義語
    SynonymFilterFactoryを利用することで実現可能です。
    同義語の定義はテキストファイルに設定する必要があります。

詳しくは、Apache Solr公式のWikiページ(英語)をご覧下さい。
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters

※ 各機能の導入バージョンにご注意下さい。製品とバージョンの対応は以下になります。
IM-ContentsSearch Ver.7.1 => solr 1.3
IM-ContentsSearch Ver.7.2 => solr 1.4.1

以上、ご参考にしてください。

-開発Blog
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

e Builder Ver.7.2 パッチ1で機能強化します!

開発本部の江本です。 ※またまた e Builder で申し訳ないです。。 6/30に e Builder Ver.7.2 をリリースして早くも3ヶ月が過ぎました。 今日で2010年度半期も終了! も …

no image

iWP7.2.4で追加されたファイルダウンロード用API

iWP7.2.4において、SAStrutsフレームワークで利用できるファイルダウンロード用のAPIを追加しました。 イメージとしてはスクリプト開発モデルの Module.dowonload. …

no image

intra-mart Advent Calendar 2013 第8日:im-Jugglingを利用せず、CUIでwarファイルを作成する方法

この記事は、intra-mart Advent Calendar 2013 第8日の記事です。 intra-mart Accel Platformは、im-Jugglingを利用してwarファイルを作 …

no image

iWPの小ネタ

開発本部の久我です。 今回は、iWPの小ネタを1つ2つ、ご紹介します。 1.スタッフロール v7.2から開発に携わった人のスタッフロールが入っています。 再生方法は、 ①システム管理者でログイン ②シ …

no image

intra-mart製品の外字対応方針について

<intra-mart製品の外字対応方針について> 以前より問い合わせの多いintra-mart製品の外字対応方針について資料をまとめましたので参考にしてください。 (1)BM/FW Ver.5 Fo …