Yeah. You can specify two analyzers in the same fieldType: <fieldType name="..." class="..."> <analyzer type="index"> ... </analyzer> <analyzer type="query"> ... </analyzer> </fieldType>
-L On Tue, Sep 28, 2010 at 2:31 PM, James Norton <jnor...@yellowbrix.com>wrote: > Hello, > > I am migrating from a pure Lucene application to using solr. For legacy > reasons I must support a somewhat obscure query feature: lowercase words in > the query should match lowercase or uppercase in the index, while uppercase > words in the query should only match uppercase words in the index. > > To do this with Lucene we created a custom Analyzer and custom TokenFilter. > During indexing, the custom TokenFilter duplicates uppercase tokens as > lowercase ones and sets their offsets to make them appear in same position > as the upper case token, i.e., you get two tokens for every uppercase token. > Then at query time a normal (case sensitive) analyzer is used so that > lowercase tokens will match either upper or lower, while the uppercase will > only match uppercase. > > I have looked through the documentation and I see how to specify the > Analyzer in the schema.xml file that is used for indexing, but I don't know > how to specify that a different Analyzer (the case sensitive one) should be > used for queries. > > Is this possible? > > Thanks, > > James