開発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 Advent Calendar 2013 第2日:テナント環境セットアップって自作で追加できるんですよ!

この記事は、intra-mart Advent Calendar 2013 第2日の記事です。 Advent Calendar ではあまり知られていないと思っている機能を紹介して行きたいと考えておりま …

no image

iWP Ver7.xでのチューニング

開発本部の大西です。 開発は半期末とかあまり関係ないと思いきや、諸般の事情でいろいろと大変な今日この頃です。 江本さんがebuilderのネタばかり書くので、傷食気味にならないように、季節柄、チューニ …

社員が運営するオフィスコンビニのご紹介

こんにちは。技術コンサルの高松と申します。 最近、矢野さんのトイレの空き状況の見える化システムが公開されましたね。 「自分もおもろい社内ネタを出したい!」と思ったので、アップします。 あ、IT要素ゼロ …

no image

AccelPlatform向け業務スケルトンのリリース予定について

現状、AccelPlatfrom版のeBuilderで対応できていなくて、おまたせしております、AccelPlatform向け業務スケルトンについて、以下のようにリリースを予定しております。 おまたせ …

no image

業務スケルトン

こんにちは。開発本部の大西です。 きょうは、昨年11月末にリリースしたe Builder Application Developer/e Builder Version 7.1 Patch3に機能追加 …

RSSRSSRSSRSS