You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Artem Lukanin (JIRA)" <ji...@apache.org> on 2013/06/21 09:50:20 UTC

[jira] [Comment Edited] (LUCENE-5030) FuzzySuggester has to operate FSTs of Unicode-letters, not UTF-8, to work correctly for 1-byte (like English) and multi-byte (non-Latin) letters

    [ https://issues.apache.org/jira/browse/LUCENE-5030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13690102#comment-13690102 ] 

Artem Lukanin edited comment on LUCENE-5030 at 6/21/13 7:49 AM:
----------------------------------------------------------------

I'm uploading 3 results of benchmarking:
1) benchmark-old.txt - before the patch
2) benchmark-INFO_SEP.txt - after the patch
3) benchmark-wo_convertion.txt - after the patch, but with commented lines of convertion in several places, like
{code}      //Automaton utf8lookupAutomaton = new UTF32ToUTF8().convert(lookupAutomaton);
      //BasicOperations.determinize(utf8lookupAutomaton);{code}
because they are useless for words consisting only latin letters.

As you can see the conversion takes too much time.
                
      was (Author: alukanin):
    I'm uploading 3 results of benchmarking:
1) benchmark-old.txt - before the patch
2) benchmark-INFO_SEP.txt - after the patch
3) benchmark-wo_convertion.txt - after the patch, but with commented lines
{code}      //Automaton utf8lookupAutomaton = new UTF32ToUTF8().convert(lookupAutomaton);
      //BasicOperations.determinize(utf8lookupAutomaton);{code}
because they are useless for words consisting only latin letters.

As you can see the conversion takes too much time.
                  
> FuzzySuggester has to operate FSTs of Unicode-letters, not UTF-8, to work correctly for 1-byte (like English) and multi-byte (non-Latin) letters
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-5030
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5030
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 4.3
>            Reporter: Artem Lukanin
>         Attachments: benchmark-INFO_SEP.txt, benchmark-old.txt, benchmark-wo_convertion.txt, nonlatin_fuzzySuggester1.patch, nonlatin_fuzzySuggester2.patch, nonlatin_fuzzySuggester3.patch, nonlatin_fuzzySuggester4.patch, nonlatin_fuzzySuggester.patch, nonlatin_fuzzySuggester.patch, nonlatin_fuzzySuggester.patch, run-suggest-benchmark.patch
>
>
> There is a limitation in the current FuzzySuggester implementation: it computes edits in UTF-8 space instead of Unicode character (code point) space. 
> This should be fixable: we'd need to fix TokenStreamToAutomaton to work in Unicode character space, then fix FuzzySuggester to do the same steps that FuzzyQuery does: do the LevN expansion in Unicode character space, then convert that automaton to UTF-8, then intersect with the suggest FST.
> See the discussion here: http://lucene.472066.n3.nabble.com/minFuzzyLength-in-FuzzySuggester-behaves-differently-for-English-and-Russian-td4067018.html#none

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org