Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


5.4.1 テキストインデクスを定義する列を決めるときの考慮点

テキストインデクスを定義する列を決める場合,次に示す点を考慮してください。

〈この項の構成〉

(1) テキストインデクスを定義した方がよいケース

次に示す検索を行う場合に,テキストインデクスを定義することを検討してください。

検索対象データとテキストインデクスの関係を次の表に示します。

表5‒4 検索対象データとテキストインデクスの関係

項番

検索対象データ

テキストインデクスの有効性

注意事項

1

文書データ(100文字以上の文書資料やメールなど)

文字列が長い場合は,テキストインデクスのデータ容量が大きくなるおそれがあります。

また,文書データの場合,検索条件に使用しないような文字列もテキストインデクスのデータに含まれるため,ほかの検索対象データに比べて,テキストインデクスのデータ容量が大きくなる傾向にあります。

2

英語で書かれた文書データ(100文字以上の文書資料やメールなど)

英語で書かれた文章に含まれる英単語を検索する場合は,テキストインデクスワード検索指定を指定して,テキストインデクスを定義してください。また,スカラ関数CONTAINSを使用してワード検索を行ってください。テキストインデクスワード検索指定については,「5.4.5 ワード検索用のテキストインデクスの指定(TEXT WORDCONTEXT)」を参照してください。

なお,文字列が長い場合は,テキストインデクスのデータ容量が大きくなるおそれがあります。また,文書データの場合,検索条件に使用しないような文字列もテキストインデクスのデータに含まれるため,ほかの検索対象データに比べて,テキストインデクスのデータ容量が大きくなる傾向にあります。

さらに,テキストインデクスワード検索指定を指定すると,指定しない場合に比べて,テキストインデクスのデータ容量が大きくなります。

3

英数字だけの文字列(URLやアクセスログなど)

次の場合は,テキストインデクスを定義しても,効果がない可能性があります。

  • 極端にデータ長が短い場合

  • 使われている文字のバリエーションが少ない場合

4

名称データ(10文字前後の商品名など)

次の場合は,テキストインデクスを定義しても,効果がない可能性があります。

  • 10文字前後の文字列でも,購入履歴のような同じ名称データが大量に存在する場合

5

数字だけの文字列(IDやコードなど)

×

仮に,検索結果が一意に決まる場合であっても,数字だけの文字列のときは文字の組み合わせが少ないため,検索に時間が掛かる可能性があります。そのため,テキストインデクスを定義しても,効果を期待できません。

(凡例)

◎:有効である可能性が非常に高い

○:有効である可能性が高い

△:有効である可能性が低い

×:有効ではない

(2) テキストインデクスを定義しない方がよいケース

次のケースに該当する場合は,対象列にテキストインデクスを定義しないようにしてください。

仮に,テキストインデクスを定義しても,データの検索範囲を絞り込めないため,検索するページ数が削減できません。そのため,テキストインデクスの効果が期待できません。

(3) テキストインデクスを定義できる列

次の条件を満たす列だけに,テキストインデクスを定義できます。

テキストインデクスを定義できる列
  • CHARACTER型の列

  • VARCHAR型の列