indexed term: bdeut_NullableValue query term 1 : bdeut_nullablevalue (lowercase) query term 2 : nullablevalue (lowercase)
current field type definition in order: Whitespace Tokenizer Word Delimiter Filter Lowercase filter current analysis output: [INDEX]schema_field WT text bdeut_NullableValue WDF text bdeut_NullableValuebdeut Nullable Value bdeutNullableValue LCF text bdeut_nullablevaluebdeutnullablevaluebdeutnullablevalue current Query Analysis output:schema_field WT text bdeut_nullablevalue WDF text bdeut_nullablevalue bdeut nullablevalue bdeutnullablevalue LCF text bdeut_nullablevalue bdeut nullablevalue bdeutnullablevalue Problem: 1. Query : bdeut_nullablevalue gets no hit we cannot find lowercase terms unless we remove camel casing/ or move LCF before WDF, either way we lose the value of the camel case filter in WDF. debug phrase query strings: <str name="parsedquery_toString">schema_field:"(bdeut_nullablevalue bdeut) (nullablevalue bdeutnullablevalue)"</str> <str name="parsedquery_toString">schema_field:"(bdeut_nullablevalue bdeut) nullable (value bdeutnullablevalue)"</str> 2. Query : "nullablevalue" would also not work. The solution I propose is as follows, let me know your suggestions. suggested fix : Add option to word delimiter factor "recursive=[FALSE/True]", this would run the WDF including preserve original on the subset of tokens note: on multiple passes over the WDF word positions of the terms do not change To test the recursive step i just modified the analyser chain to have WDF twice WT text NullableValue WDF text NullableValue Nullable Value NullableValue WDF text NullableValue Nullable Value NullableValue Nullable Value NullableValue Nullable Value NullableValue LCF text nullablevalue nullable value nullablevalue nullable value nullablevalue nullable value nullablevalue -- Anirudha P. Jadhav