lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Busch <busch...@gmail.com>
Subject Re: Adding Field twice w/ Payload - bug or works as designed?
Date Thu, 27 Aug 2009 04:09:14 GMT
The first occurrence of your term does not have a payload, the second 
one does. So getPayloadLength() correctly returns 0, because the 
TermPositions is at the first occurrence. If you call nextPosition() 
again and then dump the payload length it should be 1.

  Michael

On 8/26/09 8:51 PM, Shai Erera wrote:
> Hi
>
> I don't know if it's supported or not, but I wrote the following 
> simple example code to describe what I want.
>
>     Directory dir = new RAMDirectory();
>     Analyzer a = new SimpleAnalyzer();
>     IndexWriter writer = new IndexWriter(dir, a, 
> MaxFieldLength.UNLIMITED);
>     Document doc = new Document();
>     doc.add(new Field("a", "abc", Store.NO, Index.NOT_ANALYZED));
>     final Term t = new Term("a", "abc");
>     doc.add(new Field(t.field(), new TokenStream() {
>       boolean done = false;
>       @Override
>       public Token next(Token reusableToken) throws IOException {
>         if (done) return null;
>         done = true;
>         reusableToken.setTermBuffer(t.text());
>         reusableToken.setPayload(new Payload(new byte[] { 1 }));
>         return reusableToken;
>       }
>     }));
>     writer.addDocument(doc);
>     writer.commit();
>     writer.close();
>
>     IndexReader reader = IndexReader.open(dir, true);
>     TermPositions tp = reader.termPositions(t);
>     tp.next();
>     tp.nextPosition();
>     System.out.println(tp.getPayloadLength());
>     reader.close();
>
> Basically, I add the same Field twice (a:abc), the second time I just 
> set a Payload. The program prints 0 as the payload length (1 line 
> above the last). If I change either the field name or field text, it 
> prints 1.
>
> Bug or works as designed?
>
> Shai


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


Mime
View raw message