为外卡搜索创建索引。
在oracle 10g中执行以下脚本时
CREATE INDEX sampletexttext_idx ON tablename(columnname)
INDEXTYPE IS ctxsys.context parameters ('DATASTORE CTXSYS.DEFAULT_DATASTORE');它抛出以下异常:
不存在ora-29833索引类型。
我也试过basic_wordlist。不起作用
有人能建议为通配符搜索创建索引的最佳方法吗?
发布于 2016-08-25 13:37:25
当你创造它的时候,似乎有些不完整的东西。请参见下文所述如何做到这一点:
--创建一个示例表
drop table quick ;
create table quick
(
quick_id number primary key,
text varchar(80)
); -插入一行,用10行展开表示“轮胎%”
insert into quick ( quick_id, text )
values ( 1, 'tire tirea tireb tirec tired tiree tiref tireg tireh tirei
tirej') ;
commit;-使用wildcard_maxterms=100创建索引
begin
Ctx_Ddl.Create_Preference('wildcard_pref', 'BASIC_WORDLIST');
ctx_ddl.set_attribute('wildcard_pref', 'wildcard_maxterms', 100) ;
end;
/
create index wildcard_idx on quick(text)
indextype is ctxsys.context
parameters ('Wordlist wildcard_pref') ;--对“轮胎%”的质疑-应该正常工作吗?
select quick_id from quick
where contains ( text, 'tire%' ) > 0;
drop table quick ;参考文献:doc/text.901/a90121/cdatadi6.htm
https://stackoverflow.com/questions/39139476
复制相似问题