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

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

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

no image

Win7(64bit)上で e Builder Ver.7.2 を使用するには…

Windows 7 (64bit) 上で e Builder Ver.7.2 を使用するには現状、 「-d32オプションをeclipse.iniのvmargsに追加する」 方法しかございません。。 [ …

no image

intra-mart Advent Calendar 2013 第1日:iAPでもiWPみたいにURLだけでログインする方法

気がつけば、もう12月です。12月といえば、クリスマス。そのクリスマスを指折り待つ、技術系Advent Calendarを久しぶりにimでもやってみたいと思います。正直、どこまでネタがもつかかなり微妙 …

no image

ワークフロー案件退避ツール

こんにちは、開発本部の大西です。 最近、ワークフローモジュールを利用しているユーザ様で、ワークフローの未処理案件一覧や起票済案件一覧の表示が遅くなったというご意見を多数を伺っております。 現行のワーク …

no image

intra-mart Advent Calendar 2013 第5日:ViewCreatorは、データベース以外も覗けますよ!

この記事は、intra-mart Advent Calendar 2013 第5日の記事です。 ViewCreatorは、データベースのテーブルを参照するツールとご紹介してきましたが、実は、Accel …

まだデータがありません。

RSSRSSRSSRSS