oracle - Search for similar words using an index -


i need search on db table using kind of fuzzy search 1 oracle , using indexes since not want table scan(there lot of data).

i want ignore case, language special stuff(ñ, ß, ...) , special characters _, (), -, etc...

search "maria (cool)" should "maria- cool" , "maría_cool" matches.
possible in oracle in way?

about case, think can solved created index directly in lower case , searching lower-cased. not know how solve special chars stuff.
thought storing data without special chars in separated column , searching on returning real one, not 100% sure perfect solution.

any ideas?

maybe utl_match can help.

but can create function based index on, lets say, this:

regexp_replace(your_column, '[^0-9a-za-z]+', ' ') 

and try match this:

... regexp_replace(your_column, '[^0-9a-za-z]+', ' ') =        regexp_replace('maria (cool)' , '[^0-9a-za-z]+', ' ') 

here sqlfiddle demo it's not complete, can start


Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -