Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Help needed with oracle text special character search

Newbie_apex07Jan 10 2014 — edited May 8 2014

Hi all

Using oracle 11g sql developer 4.0

I am facing this challenge where Oracle text when it comes to searching text that contains special character.

This what I have done so far with help of http://www.orafaq.com/forum/t/162229/

  CREATE TABLE "SOS"."COMPANY"

   ( "COMPANY_ID" NUMBER(10,0) NOT NULL ENABLE,

  "COMPANY_NAME" VARCHAR2(50 BYTE),

  "ADDRESS1" VARCHAR2(50 BYTE),

  "ADDRESS2" VARCHAR2(10 BYTE),

  "CITY" VARCHAR2(40 BYTE),

  "STATE" VARCHAR2(20 BYTE),

  "ZIP" NUMBER(5,0)

   ) SEGMENT CREATION IMMEDIATE

  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS" ;

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (1,'LSG SOLUTIONS LLC',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (2,'LOVE''S TRAVEL',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (3,'DEVON ENERGY',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (4,'SONIC INC',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (5,'MSCI',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (6,'ERNEST AND YOUNG',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (7,'JOHN DEER',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (8,'Properties@Oklahoma, LLC',null,null,null,null,null);

Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (9,'D.D.T  L.L.C.',null,null,null,null,null);

   BEGIN

CTX_DDL.CREATE_PREFERENCE ('your_lexer', 'BASIC_LEXER');

     CTX_DDL.SET_ATTRIBUTE ('your_lexer', 'SKIPJOINS', '.,@-'''); -- to skip . , @ - ' symbols

    END;

  /

  CREATE INDEX my_index2 ON COMPANY(COMPANY_NAME)

     INDEXTYPE IS CTXSYS.CONTEXT PARALLEL

   PARAMETERS ('LEXER your_lexer');   

SELECT

company_name

FROM company

WHERE CATSEARCH(company.COMPANY_NAME, 'LLC','') > 0

ORDER BY company.COMPANY_ID;

output

company_name

1 LSG SOLUTIONS LLC

2 Properties@Oklahoma, LLC

only return 2 row but should return 3

This post has been answered by Barbara Boehmer on Jan 10 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 5 2014
Added on Jan 10 2014
33 comments
13,715 views