I tried something similar, and failed - I think the API is lacking there? My only advice is to vote for this: https://issues.apache.org/jira/browse/LUCENE-2878 which should provide an alternative better API, but it's not near completion.

-Mike

On 7/6/2011 5:34 PM, Jahangir Anwari wrote:
I have a CustomHighlighter that extends the SolrHighlighter and overrides
the doHighlighting() method. Then for each document I am trying to extract
the span terms so that later I can use it to get the span Positions. I tried
to get the weightedSpanTerms using WeightedSpanTermExtractor but was
unsuccessful. Below is the code that I am have. Is there something missing
that needs to be added to get the span terms?

// in CustomHighlighter.java
@Override
public NamedList doHighlighting(DocList docs, Query query, SolrQueryRequest
req, String[] defaultFields) throws IOException {

   NamedList highlightedSnippets = super.doHighlighting(docs, query, req,
defaultFields);

   IndexReader reader = req.getSearcher().getIndexReader();

   String[] fieldNames = getHighlightFields(query, req, defaultFields);
   for (String fieldName : fieldNames)
   {
   QueryScorer scorer = new QueryScorer(query, null);
   scorer.setExpandMultiTermQuery(true);
   scorer.setMaxDocCharsToAnalyze(51200);

   DocIterator iterator = docs.iterator();
   for (int i = 0; i<  docs.size(); i++)
   {
int docId = iterator.nextDoc();
System.out.println("DocId: " + docId);
  TokenStream tokenStream = TokenSources.getTokenStream(reader, docId,
fieldName);
  WeightedSpanTermExtractor wste = new WeightedSpanTermExtractor(fieldName);
wste.setExpandMultiTermQuery(true);
wste.setWrapIfNotCachingTokenFilter(true);

Map<String,WeightedSpanTerm>  weightedSpanTerms  =
wste.getWeightedSpanTerms(query, tokenStream, fieldName); // this is always
empty
System.out.println("weightedSpanTerms: " + weightedSpanTerms.values());

   }
   }
      return highlightedSnippets;

}

Thanks,
Jahangir



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

Reply via email to