使用LowerCaseFilterFactory

时间:2015-10-02 12:06:38

标签: solr

我有一小组文件:

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="HelloWorld" version="1.5">
<add>
    <doc>
        <field name="id">Erstes Dokument</field>
        <field name="content">Das ist der Inhalt des ersten Dokuments</field>
    </doc>
    <doc>
        <field name="id">Zweites Dokument</field>
        <field name="content">Und hier der Inhalt von Dokument zwei.</field>
    </doc>
    <doc>
        <field name="id">Drittes Dokument</field>
        <field name="content">Häufig enthalten Dokumente ein Mélange verschiedener Sprachen</field>
    </doc>
</add>

以及以下schema.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="HelloWorld" version="1.5">

<types>
    <fieldType name="text" class="solr.TextField" sortMissingLast="true" omitNorms="true">

        <analyzer>
            <tokenizer class="solr.StandardTokenizerFactory" />
            <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
    </fieldType>

    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> 
</types>

<fields>
    <field name="id" type="text" stored="true" indexed="true" omitNorms="false"/>
    <field name="content" type="text" stored="true" indexed="true" multiValued="true"/>
    <field name="_version_" type="long" indexed="true" stored="true"/> 
</fields>

<uniqueKey>id</uniqueKey>
<defaultSearchField>content</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>

</schema>

当我注释掉LowerCaseFilterFactory时,我可以在第二个文档的字段内容中找到术语Dokument。有了LowerCaseFilterFactory,我再也找不到了。有趣的是,我可以在第二个文档中结合另一个单词找到它,例如当我搜索“zwei Dokument”时。

在Solr-Admin的分析中,索引似乎正常工作:

enter image description here

有人可以告诉我这里出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

好的,这个问题已经解决了。我现在做的是删除核心,创建核心新并重新加载数据。即使只删除索引文件夹也不起作用。但现在它按预期工作。