You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Boris Galitsky <bg...@rambler.ru> on 2006/04/18 19:58:47 UTC
How to get Document (or filename) from Span
Thanks a lot Hoss
The question is when I get Spans, I get start/end positions and a
Document order (starting from 0), not the Document object itself from
which I could get a filename. Since I believe there is no way to get a
Document object from Spans, and there is no such thing as Document ID
in Lucene (right?) I attempt to have the same order for
Hits and for Spans (the indexing order) and retrieve Document for each
Spans this way.
I will try to prepare a test case. It works so far but I am afraid it
will be unstable.
Best regards
Boris
On Tue, 18 Apr 2006 10:29:30 -0700 (PDT)
Chris Hostetter <ho...@fucit.org> wrote:
>
> : For some reason, there is a disagreement between the order the
> : Documents are returned in hits, and the Documents are referenced
>(via
> : order number, starting from 0) in the Spans?
>
> When dealing with a Hits instance, documents are iterated over in
>"results
> order" -- which may be by score, or may be by some other sort you've
> specified.
>
> When dealing with a Spans instance, i believe the matches are
>iterated
> over in index order. Besides the perofrmance reasosn why this may
> be true, you also have to keep in mind that the Spans instance has
>no
> idea what ordering you may have used when you executed your search
>-- even
> if it assumed you sorted by score, the SpanQuery may have been a
>part of a
> much larger more complicated query in which the final scores were
>vastly
> different.
>
> If i've missunderstood your problem, could you plee post a JUnit
>test case
> that builds a small index in a RAMDIrectory, with some code that
> demonstrates what you expect to happen, and how it fails?
>
>
>
> -Hoss
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>For additional commands, e-mail: java-dev-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: How to get Document (or filename) from Span
Posted by Boris Galitsky <bg...@rambler.ru>.
I fully understand now. Thanks a lot
Boris
On Tue, 18 Apr 2006 11:10:20 -0700 (PDT)
Chris Hostetter <ho...@fucit.org> wrote:
>
> : The question is when I get Spans, I get start/end positions and a
> : Document order (starting from 0), not the Document object itself
>from
>
> Are you sure about that? Spans.doc() should return you the internal
> document Identifier which you can pass to indexReader.doc(int)
>
> : which I could get a filename. Since I believe there is no way to
>get a
> : Document object from Spans, and there is no such thing as Document
>ID
> : in Lucene (right?) I attempt to have the same order for
> : Hits and for Spans (the indexing order) and retrieve Document for
>each
> : Spans this way.
>
> Documents do have Document IDs, assigned based on index order.
> that's
> what Hits.id() returns.
>
>FYI: take a look at the TestSpans.testSpanNearOrderedOverlap class
>for an
> example of how the Spans class works. (it's what i'm using as a
>basis for
> my suggestion as to how to use the class -- i've never used it
>myself)
>
>
>
>
> -Hoss
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>For additional commands, e-mail: java-dev-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: How to get Document (or filename) from Span
Posted by Chris Hostetter <ho...@fucit.org>.
: The question is when I get Spans, I get start/end positions and a
: Document order (starting from 0), not the Document object itself from
Are you sure about that? Spans.doc() should return you the internal
document Identifier which you can pass to indexReader.doc(int)
: which I could get a filename. Since I believe there is no way to get a
: Document object from Spans, and there is no such thing as Document ID
: in Lucene (right?) I attempt to have the same order for
: Hits and for Spans (the indexing order) and retrieve Document for each
: Spans this way.
Documents do have Document IDs, assigned based on index order. that's
what Hits.id() returns.
FYI: take a look at the TestSpans.testSpanNearOrderedOverlap class for an
example of how the Spans class works. (it's what i'm using as a basis for
my suggestion as to how to use the class -- i've never used it myself)
-Hoss
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: How to get Document (or filename) from Span
Posted by Grant Ingersoll <gs...@syr.edu>.
The doc() number can be given to IndexReader.document() to get the
Document, I believe.
Boris Galitsky wrote:
> Thanks a lot Hoss
>
> The question is when I get Spans, I get start/end positions and a
> Document order (starting from 0), not the Document object itself from
> which I could get a filename. Since I believe there is no way to get a
> Document object from Spans, and there is no such thing as Document ID
> in Lucene (right?) I attempt to have the same order for
> Hits and for Spans (the indexing order) and retrieve Document for each
> Spans this way.
>
> I will try to prepare a test case. It works so far but I am afraid it
> will be unstable.
>
> Best regards
> Boris
>
>
>
> On Tue, 18 Apr 2006 10:29:30 -0700 (PDT)
> Chris Hostetter <ho...@fucit.org> wrote:
>>
>> : For some reason, there is a disagreement between the order the
>> : Documents are returned in hits, and the Documents are referenced (via
>> : order number, starting from 0) in the Spans?
>>
>> When dealing with a Hits instance, documents are iterated over in
>> "results
>> order" -- which may be by score, or may be by some other sort you've
>> specified.
>>
>> When dealing with a Spans instance, i believe the matches are iterated
>> over in index order. Besides the perofrmance reasosn why this may
>> be true, you also have to keep in mind that the Spans instance has no
>> idea what ordering you may have used when you executed your search --
>> even
>> if it assumed you sorted by score, the SpanQuery may have been a part
>> of a
>> much larger more complicated query in which the final scores were vastly
>> different.
>>
>> If i've missunderstood your problem, could you plee post a JUnit test
>> case
>> that builds a small index in a RAMDIrectory, with some code that
>> demonstrates what you expect to happen, and how it fails?
>>
>>
>>
>> -Hoss
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-dev-help@lucene.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
>
--
Grant Ingersoll
Sr. Software Engineer
Center for Natural Language Processing
Syracuse University
School of Information Studies
335 Hinds Hall
Syracuse, NY 13244
http://www.cnlp.org
Voice: 315-443-5484
Fax: 315-443-6886
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org