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

Robert Muir commented on LUCENE-3426:
-------------------------------------

Hi Koji, I wonder if instead it would be cleaner as a subclass of PhraseQuery 
(NGramPhraseQuery or similar),
that rewrites to the (possibly optimized) PhraseQuery in rewrite(). For 
example, it would build an optimized 
PhraseQuery when slop = 0, and there are enough terms to optimize, otherwise it 
would build a "normal" phrasequery.

Then the optimization would be easy to apply, the user just uses 
NGramPhraseQuery instead of PhraseQuery.
for example, from QueryParser:
{noformat}
  @Override
  protected PhraseQuery newPhraseQuery() {
    return new NGramPhraseQuery();
  }
{noformat}


> optimizer for n-gram PhraseQuery
> --------------------------------
>
>                 Key: LUCENE-3426
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3426
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/search
>            Reporter: Koji Sekiguchi
>            Priority: Trivial
>         Attachments: LUCENE-3426.patch, LUCENE-3426.patch, PerfTest.java
>
>
> If 2-gram is used and the length of query string is 4, for example q="ABCD", 
> QueryParser generates (when autoGeneratePhraseQueries is true) 
> PhraseQuery("AB BC CD") with slop 0. But it can be optimized PhraseQuery("AB 
> CD") with appropriate positions.
> The idea came from the Japanese paper "N.M-gram: Implementation of Inverted 
> Index Using N-gram with Hash Values" by Mikio Hirabayashi, et al. (The main 
> theme of the paper is different from the idea that I'm using here, though)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to