2

全文検索インデックスに問題があります。文字フィールドサイズが30のテーブルがあります。大文字と小文字を区別しないこのフィールドでの高速検索操作を行うために、このフィールドで全文検索インデックスを作成しました。ここで、次のようなクエリを実行するSELECT fieldname FROM tablename WHERE CONTAINS(fieldname, '123')と、指定されたフィールド名に123を含むレコードがいくつか取得されます。ただし、このテーブルには123で始まるレコードがありますが、これらはクエリ結果には表示されません。実際、クエリには、前のスペース文字の後に123を含む結果のみが表示されているように見えます。

私の全文検索インデックスは次のようになります。

CREATE INDEX idxname ON tablename (fieldname) CONTENT MIN WORD 1

Advantage DatabaseServer9.1を使用しています

何が間違っている可能性があるのか​​?

ありがとう、

ユルゲン

4

1 に答える 1

3

フォームを検索すると、個々の「単語」として含まれるCONTAINS(fieldname, '123')エントリが見つかります。または123が見つかりません。で始まる「単語」を持つレコードを検索するために使用できます。そして、どこかに単語が含まれているレコードを検索します。12344123CONTAINS(fieldname, '123*')123CONTAINS(fieldname, '*123*')123

フォームの検索は、*123*インデックス全体をスキャンする必要があるため、効率が低下することに注意してください。

于 2012-08-09T16:31:37.587 に答える