開発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

Accel Platformのつくりかた。

先日開催させていただきました弊社イベントEnterprise Web Solution 2013のテクニカルセッションにおいて、「Accel Platformのつくりかた。」という題名で、i …

no image

intra-mart Accel Kaiden! のガジェットを使いこなそう!①

以前のintra-mart Accel Kaiden ! の記事で紹介した「ガジェット」は、申請書内の関連する画面項目のグループや入力チェックとして利用できますが、もっと便利に利用するための設定機能も …

no image

FormaDesigner「正方形/長方形」を使って帳票っぽい画面を作る♪

FormaDesignerのパッチ1が1/27にリリースされました。 そのパッチ1で追加された画面アイテム「正方形/長方形」を使って、帳票っぽい画面を作ってみました。     上記 …

no image

intra-mart Advent Calendar 2013 第13日:ログイン後に任意の画面を開く方法

この記事は、intra-mart Advent Calendar 2013 第13日の記事です。 intra-mart Advent Calendar 2013 第1日目の「iAPでもiWPみたいにU …

no image

トラブル時の現状把握に必要な情報

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。 最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 大規模システムが増加するに従い、弊 …

RSSRSSRSSRSS