`

全文检索特珠字符过滤

    博客分类:
  • solr
 
阅读更多

现象: 在搜索处输入 2012~2013 ,搜索报错

 

解决办法:

  (1) 在StringUtil中添加 如下方法

  

  /**

* 过滤特殊字符

* @param str

* @return

*/

public static String replaceSpecialStr(String str) {

if(isEmpty(str)) {

return str;

}

// 特殊字符列表

String[] specialStr = { "!", "||", "-", "(", ")"

,"{", "}", "[", "]", "^", "\"", ":", ";" ,

"+", "&&", "~", "*", "?", "AND", "NOT",

"OR", "(", ")", "【", "】", "\\", "<", ">"};

for(String s : specialStr) {

str = str.replace(s, "");

}

 

return str;

}

 

搜索服务实现类中:

 

(2)model.setKeyWord(StringUtil.filter(model.getKeyWord()));

model.setKeyWord(SolrUtil.escapeChar(model.getKeyWord())); 代码位置处

 

/** 需要将特殊符号进行转义*/

String keyWordTemp = model.getKeyWord();

model.setKeyWord(StringUtil.filter(model.getKeyWord()));

model.setKeyWord(SolrUtil.escapeChar(model.getKeyWord()));

model.setKeyWord(StringUtil.replaceSpecialStr(model.getKeyWord()));

 

 

(3) SolrPageResultContainer solrPageResultContainer = queryResult.getSolrPageResultContainer();

后 添加 如下,再return SolrServer.getPageResultContainerBySolr(solrPageResultContainer);

model.setKeyWord(keyWordTemp);

 

 

 

分享到:
评论

相关推荐

    python正则表达式.zip

    正则表达式是对字符串...a 到 z 之间的字母)和特殊字符)操作 的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规 则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻

    python-17-正则表达式.zip

    a 到 z 之间的字母)和特殊字符)操作 的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规 则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑,正则表达式是一种文 ...

    Python正则表达式

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符)操作 的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规 则字符串”,这个“规则字符串”用来表达...

    正则表达式

    a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。正则表达式是...

    常用正则表达式

    a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。...

    java 正则表达式

    JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...

    C# 常用工具类,下载时先看下介绍

    先说明了,尽管我的工具类写得不怎么好,尽管少部分代码是借鉴网上的,但也是本人花心血做的,且本人的...16、判断是否合法用户名,用户名在4-20位之间,必须也字母打头,不能含有中文或特殊字符 17、判断邮箱是否合法

    python—正则表达式

    概念 正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则) 的文本。...正则表达式是由普通字符和特殊字符(元字符)组成的文字模式 正则表达式入门小例子 正则表达式测试网址: https:

    MYSQL使用正则表达式过滤数据

    是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。 注意: 关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会...

    一个go语言实现的简单搜索引擎

    完全匹配的字符串(类似ID,ISBN等需要完全匹配的属性) 分词类型 (全文索引) 根据特殊标志符进行切分的模式 正排索引支持 数字索引(暂时只支持整数,需要自己将其他数转化成整数) 日期索引(目前支持2005-01-02 ...

    csw5.0中文分词组件

    7.特殊字符过滤功能 可根据用户需要自行定义影响检索结果的不必要的字符。如:! % *等。 8. 干扰字、无意义字及敏感词过滤功能。 可根据用户需要自行定义干扰字、无意义字、敏感词过滤列表。如:啊、唉、个、了等无...

    Python程序设计:邮箱验证(案例).pptx

    正则表达式是一个特殊的字符序列,它能方便的检查一个字符串是否与某种模式匹配,利用正则可以快速准确的对邮箱进行校验。 任务 邮箱验证 任务目标 理解正则表达式的概念。 掌握正则表达式的语法。 掌握正则表达式...

    数据清洗数据分析数据挖掘.docx

    数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 数据挖掘的基本步骤 数据挖掘的步骤会随不同领域的应用而有所...

    数据清洗、数据分析、数据挖掘.docx

    数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 折叠数据挖掘的基本步骤 数据挖掘的步骤会随不同领域的应用而...

    数据清洗-数据分析-数据挖掘.docx

    数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 折叠数据挖掘的基本步骤 数据挖掘的步骤会随不同领域的应用而...

    ACWPS(爱博汉语分词系统)分词组件 asp分词组件

    可根据需要自行定义影响检索结果的不必要的特殊字符,如:“%,*,&,的,啊,http,www”等。 爱博汉语分词系统同时具有英文单词的分词识别功能。 爱博汉语分词系统具有强大的词性标注的词性查询功能。可以将一句...

    Visual C++ 2005入门经典--源代码及课后练习答案

    4.1.4 字符数组和字符串处理 147 4.1.5 多维数组 150 4.2 间接数据存取 153 4.2.1 指针的概念 153 4.2.2 声明指针 154 4.2.3 使用指针 155 4.2.4 初始化指针 157 4.2.5 sizeof运算符 162 4.2.6 ...

    中文分词学习版

    7.特殊字符过滤功能 可根据用户需要自行定义影响检索结果的不必要的字符。如:! % *等。 9. 具有英文分词识别功能。 本组件同时具有英文单词的分词识别功能。 10. 词性标注功能。(限企业A版) 词性:即词组在汉语...

    UbuntuChina12

    6.9.1 删除或替换特殊字符 148 6.9.2 在编辑期间运行Linux 命令 149 6.10 vim编辑器命令总结 149 第7章 Shell基础知识 153 7.1 引言 154 7.1.1 为什么需要Shell编程 154 7.1.2 什么是Shell脚本 155 7.1.3 运行Shell...

    sqlserver2000基础(高手也有用)

    第 2 章 日期处理 23 2.1 日期类型概述 23 2.2 日期处理函数 25 2.2.1 日期增减函数 25 ...15.6.4 全文检索疑难解答 491 15.6.5 发布与订阅中的常见问题 494 15.6.6 其他疑难解答 496

Global site tag (gtag.js) - Google Analytics