solr - 用SOLR和LowerCaseFilterFactory索引字段

标签 solr facet

我有一个字段定义为

<fieldType name="text_ws_lc" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

对于这种类型的字段,在不区分大小写的情况下进行搜索非常有效。但是,我希望将原始值插入到字段中,而不是小写值。是否可以从索引分析器中删除LowerCaseFilterFactory并获得此功能?翼
<fieldType name="text_ws_lc_std" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

最佳答案

您应该定义两个字段:一个带有小写值用于搜索,另一个用于保存原始值。您可以在schema.xml中使用复制字段指令来使两个字段保持同步。

关于solr - 用SOLR和LowerCaseFilterFactory索引字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134702/

相关文章:

solr - 如何将 solr 字符串字段截断为 10 个字符?

python - Pandas+seaborn 多维数据框分面

mongodb - 如何在 mongodb 中使用 facet 操作查找字段的不同值

java - 无法创建项目或将项目转换为 JPA 项目

r - 如何使用ggplot创建多面线图?

r - R 中的分面或分组相关和相关图

solr - 从 LatLonType 升级到 LatLonPointSpatialField

solr - 将自定义 Lucene 索引配置转换为 Sitecore 中的 Solr

c# - 无法实例化事件处理程序。输入 : Sitecore. Publishing.HtmlCacheClearer

apache - Solr不会配置