I have a MAH_KERESES_MV table with 3 columns OBJEKTUM_NEV, KERESES_SZOVEG_1, KERESES_SZOVEG_2. I create the following multi column Oracle Text index:

exec ctx_ddl.create_preference( 'MAH_SEARCH', 'MULTI_COLUMN_DATASTORE');
exec ctx_ddl.set_attribute('MAH_SEARCH', 'COLUMNS', 'OBJEKTUM_NEV, KERESES_SZOVEG_1, KERESES_SZOVEG_2');

create index MAX_KERES_CTX on MAH_KERESES_MV(OBJEKTUM_NEV)
  indextype is ctxsys.context
  parameters ('DATASTORE MAH_SEARCH');

But the query does not return any rows, although if I formulate the query with the like operator, then I get the results as expected:

SELECT  id, OBJEKTUM_NEV 
FROM MAH_KERESES_MV
WHERE CONTAINS(OBJEKTUM_NEV, 'C')>0;

Can some body please help? TIA,

Tamas

有帮助吗?

解决方案

Just in case any body might be interested later on, the solution was that the above CONTAINS clause filters for the C character as a stand alone entity (i.e. word). The correct where clause would have been:

WHERE CONTAINS(OBJEKTUM_NEV, 'C%')>0;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top