Hello,
For certain span queries I construct problematically by piecing together my
own SpanTermQueries I would like to enforce that Payload data is not
returned for matches on those specific terms used by the constituent
SapnTermQueries.
For exmaple if I search for a position match with a SpanQuery referencing
the tokens "_n" and "work" and there is Payload data for each (there needs
to be for other types of queries) I would like to be able to screen out the
payload data originating from any matched "_n" tokens.
I thought for the tokens I am not interested in receiving payload data from
I might simply create (anonymously) my own subclass of SpanTermQuery which
overrides getSpans and returns another custom class which extends TermSpans
but there simply overrides isPayloadAvailable to return false:
new SpanTermQuery(new Term(myField, myTokenString)) {
public Spans getSpans(IndexReader reader)
throws IOException {
return new
TermSpans(reader.termPositions(term), term) {
public boolean isPayloadAvailable()
{
return false;
}
};
}
});
This however seems to eliminating payload data for all matches though I'm
not sure why and am tracing through the code, looking at NearSpansUnordered.
Any thoughts?
thanks so much,
C>T>
--
TH!NKMAP
Christopher Tignor | Senior Software Architect
155 Spring Street NY, NY 10012
p.212-285-8600 x385 f.212-285-8999
|