use initial snippet if available

This commit is contained in:
millmanorama 2016-11-11 12:52:44 +01:00
parent 5a8163236f
commit 30a3d007b7

View File

@ -27,6 +27,7 @@ import java.util.Set;
import java.util.logging.Level;
import java.util.stream.Collectors;
import javax.swing.SwingWorker;
import org.apache.commons.lang.StringUtils;
import org.netbeans.api.progress.ProgressHandle;
import org.netbeans.api.progress.aggregate.ProgressContributor;
import org.openide.util.NbBundle;
@ -134,7 +135,8 @@ class QueryResults {
for (KeywordHit hit : getOneHitPerObject(keyword)) {
String termString = keyword.getSearchTerm();
final String snippetQuery = KeywordSearchUtil.escapeLuceneQuery(termString);
String snippet;
String snippet = hit.getSnippet();
if (StringUtils.isBlank(snippet)) {
try {
snippet = LuceneQuery.querySnippet(snippetQuery, hit.getSolrObjectId(), hit.getChunkId(), !keywordSearchQuery.isLiteral(), true);
} catch (NoOpenCoreException e) {
@ -145,6 +147,7 @@ class QueryResults {
logger.log(Level.WARNING, "Error querying snippet: " + snippetQuery, e); //NON-NLS
continue;
}
}
if (snippet != null) {
KeywordCachedArtifact writeResult = keywordSearchQuery.writeSingleFileHitsToBlackBoard(termString, hit, snippet, keywordList.getName());
if (writeResult != null) {
@ -166,8 +169,8 @@ class QueryResults {
//group artifacts by type
.collect(Collectors.groupingBy(BlackboardArtifact::getArtifactTypeID))
//for each type send an event
.forEach((typeID, artifacts) ->
IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(MODULE_NAME, BlackboardArtifact.ARTIFACT_TYPE.fromID(typeID), artifacts)));
.forEach((typeID, artifacts)
-> IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(MODULE_NAME, BlackboardArtifact.ARTIFACT_TYPE.fromID(typeID), artifacts)));
}