Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 在索引时间将变音符号删除到Solr中_Search_Solr_Full Text Search_Solr4 - Fatal编程技术网

Search 在索引时间将变音符号删除到Solr中

Search 在索引时间将变音符号删除到Solr中,search,solr,full-text-search,solr4,Search,Solr,Full Text Search,Solr4,我正在进行Solr搜索微调。我正在使用Solr4.0 通常,我使用英语语言的语言分析器和标记器,但这次我使用的是葡萄牙语,我面临着一个问题,因为它并没有真正给出我所需要的预期结果 例如:我正在搜索“proteses”这个词,但索引的是带有变音符号的“próteses”。所以它给出了错误的结果 我需要做的是在索引和搜索之前删除所有的变音符号,这样它会给出正确的结果。但是,我找不到如何处理这部分 有人能给我指出正确的方向吗?您必须在包含变音符号的字段上使用字符映射过滤器。此筛选器将使它们正常化 例如

我正在进行Solr搜索微调。我正在使用Solr4.0

通常,我使用英语语言的语言分析器和标记器,但这次我使用的是葡萄牙语,我面临着一个问题,因为它并没有真正给出我所需要的预期结果

例如:我正在搜索“proteses”这个词,但索引的是带有变音符号的“próteses”。所以它给出了错误的结果

我需要做的是在索引和搜索之前删除所有的变音符号,这样它会给出正确的结果。但是,我找不到如何处理这部分


有人能给我指出正确的方向吗?

您必须在包含变音符号的字段上使用字符映射过滤器。此筛选器将使它们正常化

例如:

<fieldType name="text_with_diacritics" class="solr.TextField">     
    <analyzer>
        <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
    </analyzer>     
</fieldType>

mapping-ISOLatin1Accent.txt随Solr提供,它具有许多变音符号的映射


显然,在配置此筛选器后,您必须重新编制文档索引。

Solr还有几个可用的ICU筛选器,并且有一个和筛选器,以允许跨Unicode删除重音符号和变音符号


还有一个可用的,它将尝试将标准7位ASCII范围以上的任何字符向下转换为该范围。

您是否尝试过我们提供的答案之一?你能否评论一下你是否解决了这个问题,以及如何解决?最终接受了答案?嗨,我真的不知道。你能补充一些细节吗?