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!

Oracle Text - Newbie

507076Nov 8 2006 — edited Nov 11 2006
Hi,
I am using 10.2.0.2.0 EE on a Linux 64Bit. I am new to Oracle TEXT and based on my research realized that Oracle TEXT is best to use for our requirement.

We have a table with 50Million rows with a web based app.

A column in the table is in the following format
firstname@@lastname@@zipcode@@dateofBirth

We want to do the the search based on lastname,zipcode or sometimes lastname,zipcode,dob.
Front end filters and prepares the search string.

I decided to use the Oracle TEXT and did this so far.

Create table test_text(id number,data_column varchar2(2000));

CREATE INDEX test_indx ON test_text(data_column) INDEXTYPE IS
ctxsys.context PARAMETERS(TRANSACTIONAL)

Read that Transactional makes it automatic syncing of index.

I inserted bunch of records into it.

now, if I issue
select * from test_text where contains (data_column,'19',1)>0
(Not sure what exactly that 1 means there, if some one can tell me that would be great).

it does a like kind of search and shows where ever there is 19 in the record sets.


if I do,
select * from test_text where contains(data_column,'rob',1)>0
eventhough there is a record with Robert, it doesn't show up.

If I do
select * from test_text where contains(data_column,'robert',1)>0
then the record shows up.

I am confused and thinking that I am missing something here.

Also, we have a requirement to search by aliases like
Robert = bob
Michale = Mike
Thomas = Tom

How do I achieve that so that if the search string have Robert, search for all Bob's also.

Any help on these (lot of) questions is greatly appreciated.

Thx
Naren
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 9 2006
Added on Nov 8 2006
5 comments
1,391 views