So I figured out part of my problem. The string field type doesn't have the lowercase filter on it. I can't seem to figure out how to add the lowercase filter to it though.

This:
<fieldType name="text_lower" class="solr.StrField" omitNorms="true">
<analyzer type="index">
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

Gives me this error.
SEVERE: org.apache.solr.common.SolrException: analyzer without class or tokenizer & filter list


Is there a way to have a string field that's case-insensitive?

Alex Thurlow
Blastro Networks

http://www.blastro.com
http://www.roxwel.com
http://www.yallwire.com


On 3/10/2010 12:11 PM, Alex Thurlow wrote:
Hi all,
I've searched the archives and web, but I haven't found a great solution to this issue. I would like to boost the results for things that match exactly. For example, I have an artist field with possible values of:
Houston
Whitney Houston
Marques Houston

I would like the Houston results to come up first and then the other ones.

What I currently have is:
<field name="artist" type="text" indexed="true" stored="true"/>
<field name="artist_tight" type="text_ws" indexed="true" stored="true"/>
<copyField source="artist" dest="artist_tight"/>

And this is what my query looks like:
title:$search^100 OR artist:$search^100 OR description:$search^5 OR tags:$search^$tagboost OR title:\"$search\"~100^100 OR artist:\"$search\"~100^100 OR description:\"$search\"~100000^5 OR tags:\"$search\"~1000^$tagboost OR artist_metaphone:$search^0.2 OR title_metaphone:$search^0.2 or title_tight:$search^100 or artist_tight:$search^100

I have tried artist_tight as string, textTight, and text_ws, all to no avail. I have completely deleted my index between changes and reinserted all my data.

What am I missing here?



Reply via email to