Java 标题中的完整停止点在SOLR中不可搜索

Java 标题中的完整停止点在SOLR中不可搜索,java,search,solr,punctuation,Java,Search,Solr,Punctuation,我使用DataImportHandler实现了一个相当直接的SOLR搜索。 其中一个字段是企业名称。它创建了一个可搜索的字段,其中包括企业名称和描述 问题是,搜索一家名为C.E.D.的公司不会找到它。我知道它在那里。更一般的搜索会返回结果 有趣的是,指数中还有一家叫CED的公司。搜索C.E.D.不会返回该公司,但搜索CED会返回该公司。但是,搜索CED不会返回公司的C.E.D 写这篇文章时,我意识到我可能需要做的是更改business name字段,使其按原样使用,而不让过滤器弄乱单词或标点符号

我使用DataImportHandler实现了一个相当直接的SOLR搜索。 其中一个字段是企业名称。它创建了一个可搜索的字段,其中包括企业名称和描述

问题是,搜索一家名为C.E.D.的公司不会找到它。我知道它在那里。更一般的搜索会返回结果

有趣的是,指数中还有一家叫CED的公司。搜索C.E.D.不会返回该公司,但搜索CED会返回该公司。但是,搜索CED不会返回公司的C.E.D


写这篇文章时,我意识到我可能需要做的是更改business name字段,使其按原样使用,而不让过滤器弄乱单词或标点符号的实际组合

使用WhitespaceTokenizerFactory的正常配置可以为您工作。
这将在文本的空白处和小写处创建标记,并与索引项相匹配。
C.E.D将匹配C.E.D和C.E.D

<fieldType name="text" class="solr.TextField">
    <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>    
    </analyzer>
</fieldType>


过滤器

请提供字段类型的详细信息?在索引和查询时执行什么分析?字段类型是文本类型,但我认为这无关紧要?我需要知道的是什么字段类型以及如何对其进行(分析)以使其工作。是的。今天早上我遇到了WordDelimiterFilter工厂,我将尝试一下,看看这是否是答案。看起来的确如此。