Thanks Steve! Everything works now.
A little modification:

        "analyzer":{
"charFilters": [ {"class":"solr.MappingCharFilterFactory", "mapping":"mapping-ISOLatin1Accent.txt"} ],
            "tokenizer": {"class":"solr.StandardTokenizerFactory"},
            "filters": [{"class":"solr.LowerCaseFilterFactory"}]
        }

Thankfully, when key is a plural word, the value is an array.

It was still teasing me when I tested with various queries. But specifying field solved that for me too.

...q=brulee didn't find anything. It goes into to the raw index I guess

...q=desert:brulee        did find "Crème brûlée"!

cheers
Søren


On 02-07-2015 17:31, Steve Rowe wrote:
Hi Søren,

“charFilter” should be “charFilters”, and “filter” should be “filters”; and 
both their values should be arrays - try this:

{
   "add-field-type”: {
     "name":"myTxtField",
     "class":"solr.TextField",
     "positionIncrementGap":"100",
     "analyzer”: {
       "charFilters": [ {"class":"solr.MappingCharFilterFactory", 
"mapping":"mapping-ISOLatin1Accent.txt”} ],
       "tokenizer": [ {"class":"solr.StandardTokenizerFactory”} ],
       "filters": {"class":"solr.LowerCaseFilterFactory"}
     }
   }
}

There should be better error messages for misspellings here.  I’ll file a JIRA 
issue.

(I also moved “filters” after “tokenizer” since that’s the order in which 
they’re executed in an analysis pipeline, but Solr will interpret the 
out-of-order version correctly.)

FYI, if you want to *correct* a field type, rather than create a new one, you 
should use the “replace-field-type” command instead of the “add-field-type” 
command.  You’ll get an error if you attempt to add a field type that already 
exists in the schema.

Steve

On Jul 2, 2015, at 1:17 AM, Søren <s...@syntonetic.com> wrote:

Hi Solr users

I'm new to Solr and I need to be able to search in structured data in a case and accent insensitive manner. 
E.g. find "Crème brûlée", both when quering with "Crème brûlée" and "creme 
brulee".

It seems that none of the build-in text types support this, or am I wrong?
So I try to add my own inspired by another post, although it was old.

I'm running solr-5.2.1.

Curl to http://localhost:8983/solr/mycore/schema
{
"add-field-type":{
     "name":"myTxtField",
     "class":"solr.TextField",
     "positionIncrementGap":"100",
     "analyzer":{
        "charFilter": {"class":"solr.MappingCharFilterFactory", 
"mapping":"mapping-ISOLatin1Accent.txt"},
        "filter": {"class":"solr.LowerCaseFilterFactory"},
        "tokenizer": {"class":"solr.StandardTokenizerFactory"}
        }
    }
}

But it doesn't work and when I look in '[... 
]\solr-5.2.1\server\solr\mycore\conf\managed-schema'
the analyzer section is reduced to this:
  <fieldType name="myTxtField" class="solr.TextField" 
positionIncrementGap="100">
    <analyzer>
      <tokenizer class="solr.StandardTokenizerFactory"/>
    </analyzer>
  </fieldType>

I'm I almost there or am I on a completely wrong track?

Thanks in advance
Søren


Reply via email to