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 2009/05/04 13:35:01 UTC
svn commit: r771270 - in /lucene/solr/trunk: CHANGES.txt
src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
src/java/org/apache/solr/schema/IndexSchema.java
src/test/org/apache/solr/schema/IndexSchemaTest.java
Author: koji
Date: Mon May 4 11:35:01 2009
New Revision: 771270
URL: http://svn.apache.org/viewvc?rev=771270&view=rev
Log:
SOLR-929: LukeRequestHandler should return "dynamicBase" only if the field is dynamic.
Modified:
lucene/solr/trunk/CHANGES.txt
lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java
lucene/solr/trunk/src/test/org/apache/solr/schema/IndexSchemaTest.java
Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=771270&r1=771269&r2=771270&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Mon May 4 11:35:01 2009
@@ -356,6 +356,9 @@
42. SOLR-1138: Query Elevation Component now gracefully handles missing queries. (gsingers)
+43. SOLR-929: LukeRequestHandler should return "dynamicBase" only if the field is dynamic.
+ (Peter Wolanin, koji)
+
Other Changes
----------------------
1. Upgraded to Lucene 2.4.0 (yonik)
Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java?rev=771270&r1=771269&r2=771270&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java Mon May 4 11:35:01 2009
@@ -300,7 +300,7 @@
f.add( "type", (ftype==null)?null:ftype.getTypeName() );
f.add( "schema", getFieldFlags( sfield ) );
- if (sfield != null && schema.getDynamicPattern(sfield.getName()) != null) {
+ if (sfield != null && schema.isDynamicField(sfield.getName()) && schema.getDynamicPattern(sfield.getName()) != null) {
f.add("dynamicBase", schema.getDynamicPattern(sfield.getName()));
}
Modified: lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java?rev=771270&r1=771269&r2=771270&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java Mon May 4 11:35:01 2009
@@ -1014,6 +1014,23 @@
}
/**
+ * Is the specified field dynamic or not.
+ * @param fieldName
+ * @return true if the specified field is dynamic
+ */
+ public boolean isDynamicField(String fieldName) {
+ if(fields.containsKey(fieldName)) {
+ return false;
+ }
+
+ for (DynamicField df : dynamicFields) {
+ if (df.matches(fieldName)) return true;
+ }
+
+ return false;
+ }
+
+ /**
* Returns the SchemaField that should be used for the specified field name, or
* null if none exists.
*
Modified: lucene/solr/trunk/src/test/org/apache/solr/schema/IndexSchemaTest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/schema/IndexSchemaTest.java?rev=771270&r1=771269&r2=771270&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/schema/IndexSchemaTest.java (original)
+++ lucene/solr/trunk/src/test/org/apache/solr/schema/IndexSchemaTest.java Mon May 4 11:35:01 2009
@@ -129,4 +129,12 @@
,"//result/doc[1]/int[@name='id'][.='10']"
);
}
+
+ public void testIsDynamicField() throws Exception {
+ SolrCore core = h.getCore();
+ IndexSchema schema = core.getSchema();
+ assertFalse( schema.isDynamicField( "id" ) );
+ assertTrue( schema.isDynamicField( "aaa_i" ) );
+ assertFalse( schema.isDynamicField( "no_such_field" ) );
+ }
}