2 Replies Latest reply: Dec 20, 2011 6:42 AM by 906431 RSS

    Fuzzy search for french (doesn't work for 'Le Coq' and 'Lecoq')

    906431
      Hello,

      we need a little help for understand the behavior of fuzzy search in the next case:
      where CONTAINS(first_name,'fuzzy('Le Coq')',1) > 0
      where CONTAINS(first_name,'fuzzy('Lecoq')',1) > 0
      The phonetic is the same in the both case, so the results must be almost the same, and both must contains 'Le Coq' and 'Lecoq' .
      The response that we have is totally different and especially not contains the both :'Le Coq' and 'Lecoq'. The space is interpreted different in this case? Where is the problem?
      I work in Oracle 10.2
      Thanks in advance,
      Gabi

      Edited by: user9184479 on Dec 20, 2011 2:46 AM
        • 1. Re: Fuzzy search for french (doesn't work for 'Le Coq' and 'Lecoq')
          Roger Ford-Oracle
          Fuzzy won't allow you to match a phrase with a single word. The fuzzy operator works at the word level, which means "fuzzy(Le Coq)" will search for a phrase consisting of a fuzzy match of "Le" followed by a fuzzy match of "Coq". Assuming "Le" is not a stopword, this can never match "Lecoq".

          If "Le" is a stopword, which it would be if you're working in a French environment, then things get a bit fuzzier (sorry).

          In this case I think "le" would get removed, it would then just depend on whether fuzzy of "Coq" matches "Lecoq" which it almost certainly doesn't (because the first characters are very important in a fuzzy match).

          Name search in 11.2 is the only operator which deals with segmentation, and can match fragments with or without spaces between them. As you're not working in 11.2, your only choice is to pre-process the data to remove spaces.
          • 2. Re: Fuzzy search for french (doesn't work for 'Le Coq' and 'Lecoq')
            906431
            Ok, thank you very much.

            The 'Le' is not in the list of the stop words because their are many french names that can begin with 'Le'

            I'm in 10.2 ...so i will pre-process the data in my package.