博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Solr/Lucene escape char handling
阅读量:6226 次
发布时间:2019-06-21

本文共 899 字,大约阅读时间需要 2 分钟。

hot3.png

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

org.apache.solr.client.solrj.util.ClientUtils.java

/**   * See: {@link org.apache.lucene.queryparser.classic queryparser syntax}    * for more information on Escaping Special Characters   */  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();  }

转载于:https://my.oschina.net/u/138995/blog/204638

你可能感兴趣的文章
网络对抗技术_作业一_201521460018
查看>>
二维数组中的查找
查看>>
[CF983D]Arkady and Rectangles
查看>>
EXTJS4-----前言
查看>>
CSS 收集
查看>>
触发器
查看>>
Linux atop监控工具部署
查看>>
Mysql中一级缓存二级缓存区别
查看>>
字符串hash + 二分答案 - 求最长公共子串 --- poj 2774
查看>>
关于channel的一些坑
查看>>
Math类中的floor、ceil和round方法
查看>>
Android4.4 以太网和DHCP启动过程介绍
查看>>
Eclipse 快捷键
查看>>
端口监听与telnet
查看>>
【eclipse】mybatis配置文件创建与mapper接口文件创建
查看>>
Shell编程进阶篇
查看>>
rsync mac->windows openssh
查看>>
ECSHOP任意页面显示指定分类、数量、排序的任意类型文章,包括只显示置顶or普通的文章...
查看>>
cacti和nagios监控web平台搭建
查看>>
Ipython安装
查看>>