Apache solr 查询与完整索引数据的完全匹配

Apache solr exact match of a query with full indexed data

我正在使用 solr 4.8。我有一个非常基础的问题。假设我有一个字段是包含一个字符串,例如"I am in class" 对于文档和第二个文档,其值为 "class"。现在我想用存储的字符串精确查询。即如果用户搜索 class,它应该 return 第二个文档,因为这两个字符串是相等的。它不应该 return 第一个文档,因为我的查询和它的值不完全匹配。

我想在 apache solr 中实现同样的目标。如何实现。

您需要一个关键字分词器。 https://cwiki.apache.org/confluence/display/solr/Tokenizers

This tokenizer treats the entire text field as a single token.

作为架构中的示例 xml:

<field name="title" type="exactstring" indexed="true" stored="true" />

 ....

<fieldType name="exactstring" class="solr.TextField" sortMissingLast="true" omitNorms="true">
    <analyzer type="query">
       <tokenizer class="solr.KeywordTokenizerFactory"/>
    </analyzer>
</fieldType>