Bug 38447 - IndexConfiguration always use the default analyzer
Summary: IndexConfiguration always use the default analyzer
Status: NEW
Alias: None
Product: Slide
Classification: Unclassified
Component: Search (show other bugs)
Version: Nightly
Hardware: All All
: P2 major (vote)
Target Milestone: ---
Assignee: Slide Developer List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-30 15:38 UTC by Honor
Modified: 2006-01-30 06:52 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Honor 2006-01-30 15:38:26 UTC
the method addTextProperty use PropertyName object as key for the map 
textProperties and the tokenStream method of IndexConfiguration.AnalyzerImpl use 
the fieldName as key ...

in the map there is a [PropertyName("DAV:", "displayname") => SomeAnalyser()]
and the AnalyzerImpl ask get("DAV:displayname") and get 'null' then use the 
default analyzer
Comment 1 Honor 2006-01-30 15:52:26 UTC
And, there is a patch,

Index: src/stores/org/apache/slide/index/lucene/IndexConfiguration.java
===================================================================
--- src/stores/org/apache/slide/index/lucene/IndexConfiguration.java	
(revision 373518)
+++ src/stores/org/apache/slide/index/lucene/IndexConfiguration.java	(working 
copy)
@@ -84,7 +84,7 @@
 	protected Set knownResourceTypes = new HashSet();
 
 	public void addStringProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		this.stringProperties.add(key);
 		this.indexedProperties.add(key);
 	}
@@ -90,11 +90,11 @@
 	}
 
 	public boolean isStringProperty(PropertyName propertyName) {
-		return this.stringProperties.contains(propertyName);
+		return this.stringProperties.
contains(generateFieldName(propertyName));
 	}
 
 	public boolean isStringProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.stringProperties.contains(key);
 	}
 
@@ -99,7 +99,7 @@
 	}
 
 	public void addDateProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		this.dateProperties.add(key);
 		this.indexedProperties.add(key);
 	}
@@ -105,11 +105,11 @@
 	}
 
 	public boolean isDateProperty(PropertyName propertyName) {
-		return this.dateProperties.contains(propertyName);
+		return this.dateProperties.contains(generateFieldName(propertyName)
);
 	}
 
 	public boolean isDateProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.dateProperties.contains(key);
 	}
 
@@ -114,7 +114,7 @@
 	}
 
 	public void addIntProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		this.intProperties.add(key);
 		this.indexedProperties.add(key);
 	}
@@ -120,11 +120,11 @@
 	}
 
 	public boolean isIntProperty(PropertyName propertyName) {
-		return this.intProperties.contains(propertyName);
+		return this.intProperties.contains(generateFieldName(propertyName));
 	}
 
 	public boolean isIntProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.intProperties.contains(key);
 	}
 
@@ -129,7 +129,7 @@
 	}
 
 	public void addSupportsIsdefinedProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		this.supportsIsdefinedProperties.add(key);
 		this.indexedProperties.add(key);
 	}
@@ -135,11 +135,11 @@
 	}
 
 	public boolean supportsIsDefined(PropertyName propertyName) {
-		return this.supportsIsdefinedProperties.contains(propertyName);
+		return this.supportsIsdefinedProperties.
contains(generateFieldName(propertyName));
 	}
 
 	public boolean supportsIsDefined(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.supportsIsdefinedProperties.contains(key);
 	}
 
@@ -144,7 +144,7 @@
 	}
 
 	public void addTextProperty(String namespace, String name, Analyzer 
analyzer) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		this.textProperties.put(key, analyzer);
 		this.indexedProperties.add(key);
 	}
@@ -150,11 +150,11 @@
 	}
 
 	public boolean isTextProperty(PropertyName propertyName) {
-		return this.textProperties.containsKey(propertyName);
+		return this.textProperties.
containsKey(generateFieldName(propertyName));
 	}
 
 	public boolean isTextProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.textProperties.containsKey(key);
 	}
 
@@ -159,11 +159,11 @@
 	}
 
 	public boolean isIndexedProperty(PropertyName name) {
-		return this.indexedProperties.contains(name);
+		return this.indexedProperties.contains(generateFieldName(name));
 	}
 
 	public boolean isIndexedProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.indexedProperties.contains(key);
 	}
 
@@ -175,7 +175,7 @@
 	 * @return
 	 */
 	public boolean isComparableProperty(String namespace, String name) {
-		PropertyName key = PropertyName.getPropertyName(name, namespace);
+		String key = generateFieldName(name, namespace);
 		return this.stringProperties.contains(key)
 				|| this.intProperties.contains(key)
 				|| this.dateProperties.contains(key);
@@ -182,9 +182,9 @@
 	}
 
 	public boolean isComparableProperty(PropertyName name) {
-		return this.stringProperties.contains(name)
-				|| this.intProperties.contains(name)
-				|| this.dateProperties.contains(name);
+		return this.stringProperties.contains(generateFieldName(name))
+				|| this.intProperties.contains(generateFieldName(name))
+				|| this.dateProperties.contains(generateFieldName(name)
);
 	}
 
 	Iterator knownResourceTypes() {
@@ -385,6 +385,10 @@
 	public String generateFieldName(String namespaceUri, String name) {
 		return namespaceUri + name;
 	}
+	
+	public String generateFieldName(PropertyName propertyName) {
+		return generateFieldName(propertyName.getNamespace(), propertyName.
getName());
+	}
 
 	public String generateKey(String uri, NodeRevisionNumber number) {
 		return uri + "#" + number;