lucene搜索关键词错误

问题

遇到的异常信息

bash 复制代码
: Lexical error at line 1, column 38.  Encountered: <EOF> after
at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:114)

解决办法

查询搜索时遇到了特殊字符,需要对字符串进行转义

java 复制代码
public static String escape(String s) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' || c == ':'
                    || c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}' || c == '~'
                    || c == '*' || c == '?' || c == '|' || c == '&' || c == '/') {
                sb.append('\\');
            }
            sb.append(c);
        }
        return sb.toString();
    }
相关推荐
Elastic 中国社区官方博客4 分钟前
如何使用 OpenTelemetry 对你的搜索 API 进行埋点,并使用 ES|QL 对其进行查询
大数据·功能测试·elasticsearch·搜索引擎·全文检索·可用性测试
risc1234566 小时前
通过树来理解访问者模式 访问者模式的灵魂在于数据结构的遍历 访问者访问的是数据结构的某一个元素他要觉得要不要访问这个元素或者访问哪些元素
lucene·访问者模式
SelectDB技术团队6 小时前
日志平台 ELK 替代场景:Apache Doris / SelectDB 的技术能力与选型对比
全文检索·倒排索引·apache doris·日志平台·selectdb·elk替代
天若有情6731 天前
SpringBoot4 + MyBatis 前后端分离实战|从零实现坏习惯管理系统,支持局域网手机访问CRUD
智能手机·mybatis
不能只会打代码1 天前
Day 011 — Spring 全家桶深度拆解
spring boot·mybatis·spring aop·spring mvc·spring ioc
憧憬成为web高手2 天前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
Java面试题总结3 天前
mybatis插件
java·tomcat·mybatis
不怕犯错,就怕不做3 天前
GIT的简单打patch应用format-patch and git am
linux·git·全文检索
Devin~Y4 天前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security
Ethan01074 天前
mybatis插件
mybatis