You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SOLR查询阶段将指定文本(如Undefined)替换为空格?

解决方案

你可以通过添加新的PatternReplaceFilterFactory过滤器实现将"Undefined"替换为空格的需求,具体配置调整如下:

修改后的查询分析器配置

<analyzer type="query">
    <!-- 原有的逗号替换过滤器 -->
    <filter class="solr.PatternReplaceFilterFactory" pattern="([,]+)" replacement=" " replace="all"/>
    <!-- 新增:替换"Undefined"为空格 -->
    <filter class="solr.PatternReplaceFilterFactory" pattern="Undefined" replacement=" " replace="all"/>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt"/>
    <filter class="solr.FlattenGraphFilterFactory"/>      
</analyzer>

关键说明

  1. 过滤器顺序:将新增的替换过滤器放在StandardTokenizerFactory之前,能在分词操作前就把"Undefined"替换为空格,避免它被解析成独立token,完全匹配你给出的5 Ford Undefined Street→5 Ford Street转换需求。
  2. 大小写适配:如果需要匹配不区分大小写的"undefined"(比如undefined、UNDEFINED等),可将pattern改为(?i)Undefined,配置如下:
    <filter class="solr.PatternReplaceFilterFactory" pattern="(?i)Undefined" replacement=" " replace="all"/>
    
  3. 生效方式:修改完成后重启Solr服务,新的分析器配置即可生效。

内容的提问来源于stack exchange,提问作者user2260040

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:20:53