`

solr ClientUtils转义特殊字符

    博客分类:
  • solr
 
阅读更多

使用solr搜索时,如果要查询的字段值中含有+ - ^等特殊字符时,我们可以使用solr自带的ClientUtils.escapeQueryChars("特殊字符的字符串")进行转义,否则会报错,其中可以转义的字符有

'\\'  '+'  '-'  '!'   '('  ')'  ':'     '^'  '['  ']'  '\"'  '{'   '}'   '~'

          '*'  '?'  '|'   '&'    ';'     '/'      和空白串

源码如下:

public static String escapeQueryChars(String s) {

    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < s.length(); i++) {

      char c = s.charAt(i);

      // These characters are part of the query syntax and must be escaped

      if (c == '\\' || c == '+' || c == '-' || c == '!'  || c == '(' || c == ')' || c == ':'

        || c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}' || c == '~'

        || c == '*' || c == '?' || c == '|' || c == '&'  || c == ';' || c == '/'

        || Character.isWhitespace(c)) {

        sb.append('\\');

      }

      sb.append(c);

    }

    return sb.toString();

  }

分享到:
评论

相关推荐

    Solr通过特殊字符分词实现自定义分词器详解

    《Solr自定义分词器实现特殊字符分词详解》 在信息检索和文本分析领域,分词是至关重要的步骤,它将原始文本拆分成可处理的词汇单元。Apache Solr,作为流行的全文搜索引擎,提供了丰富的分词工具,但有时默认的...

    solr.war包solr.war包solr.war包solr.war包solr.war包

    solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...

    solr4.7服务搭建

    ### Solr 4.7 服务搭建详细指南 #### 一、环境准备 为了搭建 Solr 4.7 服务,我们需要确保以下环境已经准备好: 1. **Java Development Kit (JDK) 1.7**:Solr 需要 Java 运行环境支持,这里我们选择 JDK 1.7 ...

    Apache Solr(solr-8.11.1.tgz)

    Apache Solr 是一个开源的全文搜索引擎,由Apache软件基金会维护,是Lucene项目的一部分。它提供了高效、可扩展的搜索和导航功能,广泛应用于企业级的搜索应用中。Solr-8.11.1是该软件的一个特定版本,包含了最新的...

    solr_solr_

    Solr,全称为Apache Solr,是一款开源的企业级搜索平台,由Apache软件基金会维护。它基于Java,并且是Lucene库的一个高级搜索应用。Solr主要用于处理和索引大量文本数据,提供高效的全文检索、拼写检查、命中高亮、...

    solr-6.2.0源码

    Solr是Apache软件基金会开发的一款开源全文搜索引擎,它基于Java平台,是Lucene的一个扩展,提供了更为方便和强大的搜索功能。在Solr 6.2.0版本中,这个强大的分布式搜索引擎引入了许多新特性和改进,使其在处理大...

    solr文档solr文档

    Solr,全称为Apache Solr,是一款开源的企业级搜索平台,由Apache软件基金会开发并维护。它是基于Lucene库的全文检索服务器,提供了高效的、可扩展的搜索和分析能力。Solr文档通常包含了关于如何安装、配置、优化...

    solr(solr-9.0.0-src.tgz)源码

    Solr是Apache软件基金会的一个开源项目,它是基于Java的全文搜索服务器,被广泛应用于企业级搜索引擎的构建。源码分析是深入理解一个软件系统工作原理的重要途径,对于Solr这样的复杂系统尤其如此。这里我们将围绕...

    solr-4.10.3.rar

    5. **处理中文**:对于中文搜索,Solr需要特殊配置。例如,需要使用分词器(如IK分词器)来处理中文文本,将每个词语作为单独的索引项。在`schema.xml`中添加相应的分析器和字段类型设置。 6. **性能优化**:Solr...

    解决solr启动404问题

    Solr是Apache Lucene项目的一个子项目,是一个高性能、基于Java的企业级全文搜索引擎服务器。当你在尝试启动Solr时遇到404错误,这通常意味着Solr服务没有正确地启动或者配置文件设置不正确。404错误表示“未找到”...

    solr服务器_solr_

    Solr服务器是Apache Lucene项目的一个子项目,是一款开源的企业级搜索平台,专门用于处理大量文本数据的全文检索、搜索和分析。它基于Java开发,能够处理多种数据源,包括XML、JSON、CSV等,提供了高效、可扩展的...

    ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_

    ikanalyzer 对中文字符进行分词,确保了中文文本在索引和查询时的准确性和效率。 ikanalyzer-solr8.4.0 包含了与 Solr 8.4.0 版本兼容的 ikanalyzer 配置和类库。在使用这个包时,我们需要将其正确地集成到 Solr 的...

    solr的学习

    ### Solr 学习知识点详解 #### 一、Solr 概述 - **定义**:Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。Solr 可以独立运行在 Jetty、Tomcat 等 Servlet 容器中。 -...

    solr增量更新架包apache-solr-dataimportscheduler.jar

    Apache Solr 是一个开源的全文搜索引擎,广泛应用于各种企业级数据搜索和分析场景。增量更新是Solr的一个关键特性,它允许系统仅处理自上次完整索引以来发生更改的数据,从而提高了性能并降低了资源消耗。"apache-...

    solr-7.4.0.zip

    Solr,全称为Apache Solr,是一款开源的企业级全文搜索引擎,由Apache软件基金会开发并维护。它是基于Java的,因此在使用Solr之前,确保你的系统已经安装了Java 8或更高版本是至关重要的。标题"solr-7.4.0.zip"表明...

    solr-4.10.3

    7. **国际化与本地化**:Solr-4.10.3支持多语言处理,包括中文、日文等非拉丁字符集的全文搜索,以及本地化排序和搜索。 8. **性能优化**:这个版本的Solr继续在性能上进行了优化,包括更有效的内存管理、更快的...

    solr-4.4.0.tgz

    Solr 是一个开源的全文搜索引擎,由 Apache 软件基金会开发。版本 4.4.0 是 Solr 的一个重要里程碑,它包含了丰富的特性和改进。这个“solr-4.4.0.tgz”文件是一个针对 Linux 系统的压缩包,用于在服务器上部署 Solr...

    Linux上Solr的启动方式

    使用Solr内置的Jetty服务器启动Solr (1)借助X Shell上传solr的安装包到/usr/local/目录下,使用 tar -zxvf命令进行解压.  (2)使用内置的Jetty来启动Solr服务器只需要在example目录下,执行start.jar程序即可,...

    solr技术文solr技术文

    2. **字段类型与配置**:Solr允许用户自定义字段类型,如字符串、数字、日期等,以适应不同的数据需求。这些字段类型的配置在schema.xml文件中定义,包括分析器、比较器和存储方式等。 3. **查询处理**:Solr提供了...

    solr(solr-9.0.0.tgz)

    Solr,全称为Apache Solr,是Apache软件基金会的一个开源项目,主要用来处理全文搜索和企业级的搜索应用。它基于Java,利用Lucene库构建,提供了高效、可扩展的搜索和导航功能。Solr-9.0.0是该软件的最新版本,此...

Global site tag (gtag.js) - Google Analytics