Link to home
Start Free TrialLog in
Avatar of tonikaram
tonikaram

asked on

Fuzzy search (same as Google) on Oracle or Sybase?

Is there an easy code, known mechanism, or, if all else fails, an added product that can perform an "intelligent" fuzzy search same as the one Google does, inside Oracle, and/or Sybase? I find the Google very effective, particularly because if it finds a slightly different spelling has a bigger number of records, not only does it show them, but it suggests the new spelling ("did you mean Sarkozy?" when searching for Sarkozi).

I am proficient with SQL, and I found that, on Sybase at least, just a search of many words with an "OR" between them is half a page of coding in SQL, let alone doing anything fuzzy.

This is for an application that will have a form as a user interface on an Oracle Recrods Database or an Oracle normal database, or a Sybase database.
For example, since the content will be arabic, a search for "Kamel" should return all the following:
- Alkamel
- Elkamell
- Al Kamel
- El Kamel
- AlKamal
- ElKamal
- Al Kamal
- El Kamal

As well as more words (dash instead of space, etc), and especially, if there are thousands records with one particular spelling that is very different too, such as El Kemaaaal, then let it return it too, or suggest it.

I am not the person who will program this, but I will the specifications.

Thanks for your very useful answers.
Kay
SOLUTION
Avatar of DocGyver
DocGyver
Flag of Afghanistan image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Avatar of OMC2000
OMC2000
Flag of Russian Federation image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of tonikaram
tonikaram

ASKER

I have been pointed in the direction of the synonyms list that can be added in Oracle manually. That would solve my problem partially. Every search would check the synonym list for additional hits automatically.
What do you think?

There's also a names cartridge and a forms cartrigde, but these don't help with Arabic names.

Kay
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Is soundex a function() that can be used in the sql code? Does it have related libraries, are they free?

New to all this, sorry.
Kay
soundex() is an internal oracle function that can not be modified (afaik), but you can use it in sql code like user functions.

sorry but i don't know if there are related libraries ... if you want a modified soundex (arabic) of your own, you have to create a new function. as posted, i found some code when searching by google, but it's years ago.

if you're interested on my german version, send an e-mail to jowahl@gmx.at.
yes, soundex is a function. Normally it should be user in WHERE clause.  It comes with the base Oracle database installation and is free for developers as a part of Oracle database. But commercial use of Oracle requires rather expensive license.
I don't know is it possible to extract and customize its base technology for non-English languages. However, it hardly uses full dictionary. Most likely it is based on language grammar rules.