You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ko...@apache.org on 2010/01/10 11:29:11 UTC
svn commit: r897611 -
/lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
Author: koji
Date: Sun Jan 10 10:29:08 2010
New Revision: 897611
URL: http://svn.apache.org/viewvc?rev=897611&view=rev
Log:
SOLR-1268: ignore undefined field
Modified:
lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
Modified: lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=897611&r1=897610&r2=897611&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Sun Jan 10 10:29:08 2010
@@ -346,9 +346,14 @@
return fragments;
}
+ /*
+ * If fieldName is undefined, this method returns false, then
+ * doHighlightingByHighlighter() will do nothing for the field.
+ */
private boolean useFastVectorHighlighter( SolrParams params, IndexSchema schema, String fieldName ){
- SchemaField schemaField = schema.getField( fieldName );
- return schemaField.storeTermPositions() &&
+ SchemaField schemaField = schema.getFieldOrNull( fieldName );
+ return schemaField != null &&
+ schemaField.storeTermPositions() &&
schemaField.storeTermOffsets() &&
!params.getFieldBool( fieldName, HighlightParams.USE_HIGHLIGHTER, false );
}
@@ -357,7 +362,8 @@
int docId, Document doc, String fieldName ) throws IOException {
SolrParams params = req.getParams();
String[] docTexts = doc.getValues(fieldName);
- if (docTexts == null) return;
+ // according to Document javadoc, doc.getValues() never returns null. check empty instead of null
+ if (docTexts.length == 0) return;
SolrIndexSearcher searcher = req.getSearcher();
IndexSchema schema = searcher.getSchema();