public Explanation Explain(BaristaIndexDefinition indexDefinition, Barista.Search.Query query, int docId) { var lQuery = Barista.Search.Query.ConvertQueryToLuceneQuery(query); Explanation explanation; var index = GetOrAddIndex(indexDefinition, true); IndexSearcher indexSearcher; using (index.GetSearcher(out indexSearcher)) { var lexplanation = indexSearcher.Explain(lQuery, docId); explanation = Explanation.ConvertLuceneExplanationToExplanation(lexplanation); } return(explanation); }
public string Highlight(BaristaIndexDefinition indexDefinition, Barista.Search.Query query, int docId, string fieldName, int fragCharSize) { var highlighter = GetFastVectorHighlighter(); var lQuery = Barista.Search.Query.ConvertQueryToLuceneQuery(query); var fieldQuery = highlighter.GetFieldQuery(lQuery); string highlightedResult; var index = GetOrAddIndex(indexDefinition, true); IndexSearcher indexSearcher; using (index.GetSearcher(out indexSearcher)) { highlightedResult = highlighter.GetBestFragment(fieldQuery, indexSearcher.IndexReader, docId, fieldName, fragCharSize); } return(highlightedResult); }