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();


Reply via email to