いつもお世話になっております。
全文検索ORACLE TEXTでの動作で想定通りに動かない点があり悩んでおります。
(ORACLEは12c)
以下のSQLを実行すると、全件ヒットしてしまいます。
SHIRYO_NAMEカラムには、1件のみ「SHIRYO_NAME12345」というレコードがありますが、
それ以外は「◎△」など関係のないデータが入っています。
「SHIRYO」のみ発生します。
indexを再構築しても発生します。
ORACLE TEXTの設定だと考えられるのですが、ヒントなどあればご教示いただけないでしょうか。
SQL
1SELECT * FROM DOCUMENT 2WHERE 3(CONTAINS(SHIRYO_NAME, 'SHIRYO') > 0) 4
ORACLE TEXTで登録したクエリ:
SQL
1BEGIN 2CTX_DDL.CREATE_PREFERENCE('system_lexer','JAPANESE_LEXER'); 3 4CTX_DDL.CREATE_PREFERENCE('system_wordlist','BASIC_WORDLIST'); 5CTX_DDL.SET_ATTRIBUTE('system_wordlist','PREFIX_INDEX','TRUE'); 6CTX_DDL.SET_ATTRIBUTE('system_wordlist','SUBSTRING_INDEX','TRUE'); 7CTX_DDL.SET_ATTRIBUTE('system_wordlist','WILDCARD_MAXTERMS','50000'); 8 9CTX_DDL.CREATE_PREFERENCE('system_storage5','MULTI_COLUMN_DATASTORE'); 10CTX_DDL.SET_ATTRIBUTE('system_storage5','columns','SHIRYO_NAME'); 11END; 12 13drop index allsearch_idx5; 14 15create index allsearch_idx5 on DOCUMENT(SHIRYO_NAME) 16indextype is CTXSYS.CONTEXT 17PARAMETERS('datastore system_storage5 lexer system_lexer wordlist 18system_wordlist'); 19 20begin 21ctx_ddl.SYNC_INDEX('allsearch_idx5'); 22END;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。