我希望的搜索结果是类似like查询的,在两列上匹配
SQL> select * from emp where ename like '%I%' and job like '%K%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7922 BILL CLERK 7782 1982/3/23 1700.00
7369 SMITH CLERK 7902 1980/12/17 800.00 20
7934 MILLER CLERK 7782 1982/1/23 1300.00 10但是通过全文检索却查不到数据
SQL> select * from emp where contains(ename,'I & K')>0;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------下面建索引方法,有不对的地方请大家指出来:
登录ctxsys创建多列DataStore
BEGIN
ctx_ddl.create_preference('MUL_COLUMN_E', 'MULTI_COLUMN_DATASTORE');
ctx_ddl.set_attribute('MUL_COLUMN_E', 'COLUMNS', 'ename,job');
END;创建全文索引
CREATE INDEX idx_e ON emp(ename) INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('DATASTORE CTXSYS.MUL_COLUMN_E');全文索引
SQL> select * from emp where ename like '%I%' and job like '%K%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7922 BILL CLERK 7782 1982/3/23 1700.00
7369 SMITH CLERK 7902 1980/12/17 800.00 20
7934 MILLER CLERK 7782 1982/1/23 1300.00 10但是通过全文检索却查不到数据
SQL> select * from emp where contains(ename,'I & K')>0;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------下面建索引方法,有不对的地方请大家指出来:
登录ctxsys创建多列DataStore
BEGIN
ctx_ddl.create_preference('MUL_COLUMN_E', 'MULTI_COLUMN_DATASTORE');
ctx_ddl.set_attribute('MUL_COLUMN_E', 'COLUMNS', 'ename,job');
END;创建全文索引
CREATE INDEX idx_e ON emp(ename) INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('DATASTORE CTXSYS.MUL_COLUMN_E');全文索引
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货