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
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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
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.
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.
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.
ASKER
What do you think?
There's also a names cartridge and a forms cartrigde, but these don't help with Arabic names.
Kay