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