I tried to use ISOLatin1AccentFilterFactory under solr 1.3 . It partly
works, but does not recognize most of the characters I need to map. So I
tried to use MappingCharFilterFactory based on the documentation it needs a
different tokenizer, I set it, and also a mapping file, this is a simple txt
with char mappings. This would be fine for me, I tried it but does nothing.
I suspect that it cannot locate the mapping file.

The mapping-ISOLatin1Accent.txt is placed to my conf. I tried to change the
path in the schema, but nothing happens. How can I tell solr to read this
mapping file?

This is my schema.xml:

<?xml version='1.0' encoding='utf-8' ?>
<schema name='sunspot' version='0.9'>
  <types>
    <fieldtype class='solr.TextField' name='text'
positionIncrementGap='100'>
      <analyzer>
        <!-- <tokenizer class='solr.StandardTokenizerFactory' /> -->
        <filter class='solr.StandardFilterFactory' />
        <filter class='solr.LowerCaseFilterFactory' />
        <charFilter class="solr.MappingCharFilterFactory"
mapping="mapping-ISOLatin1Accent.txt"/>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
      </analyzer>
    </fieldtype>
    <fieldtype class='solr.RandomSortField' name='rand'></fieldtype>
    <fieldtype class='solr.BoolField' name='boolean' omitNorms='true' />
    <fieldtype class='solr.SortableFloatField' name='sfloat'
omitNorms='true' />
    <fieldtype class='solr.DateField' name='date' omitNorms='true' />
    <fieldtype class='solr.SortableIntField' name='sint' omitNorms='true' />
    <fieldtype class='solr.StrField' name='string' omitNorms='true' />
  </types>
  <fields>
    <field indexed='true' multiValued='false' name='id' stored='true'
type='string' />
    <field indexed='true' multiValued='true' name='type' stored='false'
type='string' />
    <field indexed='true' multiValued='false' name='class_name'
stored='false' type='string' />
    <field indexed='true' multiValued='true' name='text' stored='false'
type='text' />
    <dynamicField indexed='true' multiValued='true' name='*_text'
stored='false' type='text' />
    <dynamicField indexed='true' name='random_*' stored='false' type='rand'
/>
    <dynamicField indexed='true' multiValued='false' name='*_b'
stored='false' type='boolean' />
    <dynamicField indexed='true' multiValued='false' name='*_f'
stored='false' type='sfloat' />
    <dynamicField indexed='true' multiValued='false' name='*_d'
stored='false' type='date' />
    <dynamicField indexed='true' multiValued='false' name='*_i'
stored='false' type='sint' />
    <dynamicField indexed='true' multiValued='false' name='*_s'
stored='false' type='string' />
    <dynamicField indexed='true' multiValued='true' name='*_bm'
stored='false' type='boolean' />
    <dynamicField indexed='true' multiValued='true' name='*_fm'
stored='false' type='sfloat' />
    <dynamicField indexed='true' multiValued='true' name='*_dm'
stored='false' type='date' />
    <dynamicField indexed='true' multiValued='true' name='*_im'
stored='false' type='sint' />
    <dynamicField indexed='true' multiValued='true' name='*_sm'
stored='false' type='string' />
    <dynamicField indexed='true' multiValued='false' name='*_bs'
stored='true' type='boolean' />
    <dynamicField indexed='true' multiValued='false' name='*_fs'
stored='true' type='sfloat' />
    <dynamicField indexed='true' multiValued='false' name='*_ds'
stored='true' type='date' />
    <dynamicField indexed='true' multiValued='false' name='*_is'
stored='true' type='sint' />
    <dynamicField indexed='true' multiValued='false' name='*_ss'
stored='true' type='string' />
    <dynamicField indexed='true' multiValued='true' name='*_bms'
stored='true' type='boolean' />
    <dynamicField indexed='true' multiValued='true' name='*_fms'
stored='true' type='sfloat' />
    <dynamicField indexed='true' multiValued='true' name='*_dms'
stored='true' type='date' />
    <dynamicField indexed='true' multiValued='true' name='*_ims'
stored='true' type='sint' />
    <dynamicField indexed='true' multiValued='true' name='*_sms'
stored='true' type='string' />
  </fields>
  <uniqueKey>id</uniqueKey>
  <defaultSearchField>text</defaultSearchField>
  <solrQueryParser defaultOperator='AND' />
  <copyField dest='text' source='*_text' />
</schema>

On Fri, Sep 4, 2009 at 1:14 AM, Chris Hostetter <hossman_luc...@fucit.org>wrote:

>
> Take a look at the MappingCharFilterFactory (in Solr 1.4) and/or the
> ISOLatin1AccentFilterFactory.
>
> : Date: Thu, 27 Aug 2009 16:30:08 +0200
> : From: "[ISO-8859-1] György Frivolt" <gyorgy.friv...@gmail.com>
> : Reply-To: solr-user@lucene.apache.org
> : To: solr-user <solr-user@lucene.apache.org>
> : Subject: Searching with or without diacritics
> :
> : Hello,
> :
> :      I started to use solr only recently using the ruby/rails
> sunspot-solr
> : client. I use solr on a slovak/czech data set and realized one not wanted
> : behaviour of the search. When the user searches an expression or word
> which
> : contains dicritics, letters like š, č, ť, ä, ô,... usually the special
> : characters are omitted in the search query. In this case solr does not
> : return records which contain the expression intended to be found by the
> : user.
> :      How can I configure solr in a way, that it founds records containing
> : special characters, even if they are without special accents in the
> query?
> :
> :      Some info about my solr instance: Solr Specification Version:
> 1.3.0Solr
> : Implementation Version: 1.3.0 694707 - grantingersoll - 2008-09-12
> : 11:06:47Lucene Specification Version: 2.4-devLucene Implementation
> Version:
> : 2.4-dev 691741 - 2008-09-03 15:25:16
> :
> : Thank for your help, regards,
> :
> :      Georg
> :
>
>
>
> -Hoss
>

Reply via email to