Question

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

Was it helpful?

Solution

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;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top