You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (Created) (JIRA)" <ji...@apache.org> on 2012/03/05 02:24:59 UTC

[jira] [Created] (LUCENE-3849) position increments should be implemented by TokenStream.end()

position increments should be implemented by TokenStream.end()
--------------------------------------------------------------

                 Key: LUCENE-3849
                 URL: https://issues.apache.org/jira/browse/LUCENE-3849
             Project: Lucene - Java
          Issue Type: Bug
    Affects Versions: 3.6, 4.0
            Reporter: Robert Muir


if you have pages of a book as multivalued fields, with the default position increment gap
of analyzer.java (0), phrase queries won't work across pages if one ends with stopword(s).

This is because the 'trailing holes' are not taken into account in end(). So I think in
TokenStream.end(), subclasses of FilteringTokenFilter (e.g. stopfilter) should do:

{code}
super.end();
posIncAtt += skippedPositions;
{code}

One problem is that these filters need to 'add' to the posinc, but currently nothing clears
the attributes for end() [they are dirty, except offset which is set by the tokenizer].

Also the indexer should be changed to pull posIncAtt from end().


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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