SOLR:如何在字段值中使用通配符和问号

时间:2016-03-05 22:32:17

标签: indexing solr wildcard

过去几天我读过很多页面,但是可以找到以下情况配置现场分析器的任何样本:
- 字段值可能包含两者?和*:
    

  • abcdef1;
  •     
  • AB DE 2;?
  •     
  • ABCΔE*。
- 查询也可能包含它:
    
  • " AB ?? E *"和" ab *" - 结果应解决所有文件;
  •     
  • " AB1 *" - 仅次于。

是否可以这样配置SOLR?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可能需要创建字段类型并将其应用于您的字段。

您的字段类型应包含将生成令牌的标记器和过滤器。

您可以在solr wiki页面上阅读有关使用标记器和过滤器的更多信息。

您还可以使用不同的分析器进行索引和查询。

这也取决于您的要求。

我建议你尝试下面的字段类型。

您可以在schema.xml中添加以下字段类型。 对要执行部分/通配符搜索的字段使用“partial_search”fieldType。

完成schema.xml更改后,您需要重新启动服务器并重新索引数据。

<fieldType name="partial_search" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" maxGramSize="10"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
    </analyzer>
</fieldType>