Solr的精确匹配搜索】的更多相关文章

情景: 利用Solr做一批词的逆文档频率.Solr中存储的每条数据为一篇文章,此时需要查出某词在多少篇文章中出现过,然后用公式:某词逆文档频率 = 总文章数 / (出现过某词的文章数+1) 来计算. 以下两幅图为两种搜索方式的搜索结果对比: 结果:对某词进行搜索时,将某词用英文双引号括起来就是精确搜索. 直接调用API也是类似的:http://IP:8983/solr/IDFcollection/select?q=quanwen:"机械制造"&wt=json&inden…
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 使用grep搜索某个关键字时,默认搜索出来的是所有包含该关键字的行,如下:搜索/var/named/veredholdings.cn_zone文件中172.16.50.24所在的行,默认会把所有包括172.16.50.24所在的行打印出来.[root@uat…
使用solr进行某较长词搜索时出现了一些问题,及解决方案. 1.问题:solr默认使用OR方式搜索,当搜索一个很长的次,比如“XX集团股份有限公司”,分词器分词后,使用OR方式匹配,会匹配到很多结果. 解决:然后我使用了AND方式搜索(managed-schema中设置<solrQueryParser defaultOperator="AND">),结果匹配的很精准了. 2.问题:但是当我搜索“XX集团股份有限公”的时候,匹配到0个结果,因为存入时索引的信息为:XX 集团…
下面先简单描述一下mapping是什么? 自动或手动为index中的type建立的一种数据结构和相关配置,简称为mappingdynamic mapping,自动为我们建立index,创建type,以及type对应的mapping,mapping中包含了每个field对应的数据类型,以及如何分词等设置 当我们插入几条数据,让ES自动为我们建立一个索引 PUT /website/article/ { "post_date": "2019-08-21", "t…
[阿里云产品公测]大数据下精确快速搜索OpenSearch 作者:阿里云用户小柒2012 相信做过一两个项目的人都会遇到上级要求做一个类似百度或者谷歌的站内搜索功能.传统的sql查询只能使用like 或者FIND_IN_SET来实现.后者性能稍微好点但是必须要逗号分隔才可以实现匹配.甚至多条件的话还可能用到OR这是极影响系统性能的. 最近公司项目需要.主要是系统查询缓慢.并且查询精度不敢恭维.一开始想到的是Lucene 毕竟是一个开放源代码的全文检索引擎工具包 并且官方还在持续更新中.当时闲暇时…
删除文件中所有的空行:g/^\s*$/d 去掉所有的行尾空格::%s/\s\+$// 整个文件特定字符串的替换:%s/old_word/new_word/g 删除从当前行开始到最后一行的所有内容:.,$d 去掉所有的“//”注释::%s!\s*//.*!!(首先可以注意到,这儿分隔符改用了“!”,原因是在模式或字符串部 分使用了“/”字符,不换用其他分隔符的话就得在每次使用“/”字符本身时写成“\/”,上面的命令得写成“:%s/\s*\/\/.*//”,可读性较 低.命令本身倒是相当简单,用过正…
使用 Apache Lucene 和 Solr 4 实现下一代搜索和分析 使用搜索引擎计数构建快速.高效和可扩展的数据驱动应用程序 Apache Lucene™ 和 Solr™ 是强大的开源搜索技术,使组织能够轻松地显著增强数据访问.借助 4.x 版的 Lucene 和 Solr,向数据驱动应用程序中添加可扩展的搜索功能变得比以往更加轻松.Lucene 和 Solr 提交者 Grant Ingersoll 介绍了与相关性.分布式搜索和分面 (facet) 相关的最新 Lucene 和 Solr…
[原创]用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则 转载请注明出处:http://www.codelast.com/ line search(一维搜索,或线搜索)是最优化(Optimization)算法中的一个基础步骤/算法.它可以分为精确的一维搜索以及不精确的一维搜索两大类.在本文中,我想用“人话”解释一下不精确的一维搜索的两大准则:Armijo-Goldstein准则 & Wolfe-Powell准则.之所以这样说,是因为我读到的所有最优…
第1种方式:Tomcat直接处理 web.xml <error-page> <error-code>404</error-code> <location>/error/404.htm</location> </error-page> 这样的仅仅能展示纯静态的页面,很不灵活. 第2种方式:利用Spring MVC的最精确匹配 @Controller public class UrlNotFoundController { @Reques…
[root@localhost home]# cat file 5001][YRSD5-1][YRSD5-1-2][0203008400028411] 010102 5001][YRSD7-1][YRSD7-1-2][0203008400028411] 010102 5001][YRSD5-1][YRSD5-1-20][14030084000286E7] 010101 5001][YRSD7-1][YRSD7-1-3][03030084000285C0] 010102 5001][YRSD5-1…
sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的.其中 -o 表示“only-matching”,即“仅匹配”之意.光用它不够,配合 -E 选项使用扩展正则表达式则威力巨大. 比如下面有一条文本 tmp.txt ,其中内容为: {"aid":45,"path":"attachment/Mon_1112/2_1_5728040df3ab346.jpg"} 我们想从中过略出…
缘由 数据存储在MYSQ库中,数据基本维持不变,但数据量又较大(几千万)放在MYSQL中查询效率上较慢,寻求一种简单有效的方式提高查询效率,MYSQL并不擅长大规模数据量下的数据查询. 技术方案 考虑后期同样会使用到es,此次直接结合spring-boot框架形成一个独立服务,并不涉及UI展现内容,(ES版本2.4.5,5.0+版本的话就不能再使用spring data elasticsearch)技术组合如下: Spring Boot+ Spring-data-elasticsearch +…
需求: 精确匹配查找某个字符串   精确匹配: 例如: 在抽取字符串“48”,返回结果包含诸如484和483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行. 使用grep抽取精确匹配的一种有效方式是在抽取字符串前加 \ <, 在抽取字符串后加 \ > .假定现在精确抽取48, 方法如下: #grep ' \ <48\>' filename…
https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结[第五天] 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结[第六天] 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)[第七天](redis缓存) 第04…
本来不想写router 规则匹配的问题,有一个笨球问,顺带写一下, 先配置一下路由 export default new Router({ routes: [ { path: '/', name: 'Index', component: Index }, { path: '/mall', name: 'Mall', component: Mall }, { path: '/shoppingCar', name: 'ShoppingCar', component: ShoppingCar }, {…
6.[单条件匹配搜索]有两个表格(姓名列,年龄列,收入列等),从表1总表中,把表2中人员的年龄和收入匹配出来: 方法一: 公式=VLOOKUP($S2,$O$2:$Q$5,2,0) #其中最后0<=>FALSE(准确查找),1<=>TRUE(模糊查找): 解释函数: vloolup纵向查找匹配: $S2为条件列: $O$2:$Q$5为以条件列为首列的查找表格范围: 2为要找的结果列值:(当然,此处也可以为1): PS:如果想多条件查找,=VLOOKUP(A1&A2&…
Solr查询数据,其实下面一堆的参数,我也没有做测试,只是转载过来了,我大概只用了高亮.排序.查询.分页,其他的好像没有用过,以后用再来查 一.基本查询 参数 意义 q 查询的关键字,此参数最为重要,例如,q=id:1,默认为q=:, fl 指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort start 返回结果的第几条记录开始,一般分页用,默认0开始 rows 指定返回结果最多有多少条记录,默认值为 10,配合start实现分页 sort 排序方…
  后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可能是根据数据库的字段查询的,那是怎么查询出来的呢,为什么千奇百怪的关键字都可以查询出来呢? 答案就是全文检索工具的实现,luncence采用了词元匹配和切分词.举个例子:北京天安门------luncence切分词:北京  京天  天安  安门  等等这些分词.所以我们搜索的时候都可以检索到.…
在项目中遇到一个需要通过某个字的值筛选匹配带出其他信息的需求,在这里将实现思路整理出来. 源码地址:https://github.com/whieenz/SearchSelect 先看效果图 上图中的示例是通过姓名模糊匹配,然后将匹配到的信息显示到结果区域,通过点击目标信息带出其他详细信息例子. 实现原理 先看界面布局简图 从图中可以看出该功能主要包含搜索区域.顶层.底层.结果区域(RecycleView).空白区域五个模块. 搜索区域:核心原理EditView 采集模糊匹配条件,同时给Edit…
转载请注明出处:http://www.codelast.com/ line search(一维搜索,或线搜索)是最优化(Optimization)算法中的一个基础步骤/算法.它可以分为精确的一维搜索以及不精确的一维搜索两大类.在本文中,我想用“人话”解释一下不精确的一维搜索的两大准则:Armijo-Goldstein准则 & Wolfe-Powell准则.之所以这样说,是因为我读到的所有最优化的书或资料,从来没有一个可以用初学者都能理解的方式来解释这两个准则,它们要么是长篇大论.把一堆数学公式丢…
按照一定规则使用匹配模式在目标空间进行搜索,然后执行相应操作: 运行时系统将kvc的运行机制解释为模式匹配,将值的兼容性问题解释为装包解包问题 一.模式匹配 The default implementation of the NSKeyValueCoding protocol provided by NSObject maps key-based accessor calls to an object’s underlying properties using a clearly defined…
监听文本框改变: DJSelectCityViewController.m /** 当searchBar内的文字发生改变时调用此方法 */ - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { UIView *cover = [self.view viewWithTag:DJCoverTag]; if (searchText.length) { // 当前输入内容不为空 ) { cove…
请求搜索必要的条件是:设置搜索条件params 设置 1.简单条件 SolrParams params = new SolrQuery("name:小飞鸟 AND  id:1520"); QueryResponse response = server.query(params); SolrDocumentList results = response.getResults(); 2.复杂查询.多配置搜索条件 ModifiableSolrParams params = new Modif…
使用grep实现精确过滤的五种方法 (1)当被过滤的内容占据一行时 [root@MySQL scripts]# cat oldboy.log        200 0200 2000 [root@MySQL scripts]# grep "\b200\b" oldboy.log  200 #<==正则按单词匹配 [root@MySQL scripts]# grep -w "200" oldboy.log                   200 #<=…
1,平常我们写js正则规则的时候,一般是这样写: var reg = /abc/; 然而,这样写的话,如果abc是一个变量这样就不行,我们需要下面这种写法: var abc = "汉字";var reg = new RegExp(abc, 'g');//g 全局匹配 2, 搜索关键字,让关键字标红: // class='text' :这个类中的文字 $('.text').each(function () {// 关键字标红 var reg = new RegExp($sea, 'g')…
使用bootstrap3-typeahead.js 文件在这里 引用: <script type="text/javascript" src="@Url.Content("XXXXX/bootstrap3-typeahead.js")" charset="UTF-8"></script> input控件 <input id="local_data" autocomplete=&…
str1="abcdefgh" str2="def" result=$(echo $str1 | grep "${str2}") if [[ "$result" != "" ]];then echo "包含" else echo "不包含" fi 如果精确的匹配到def呢 其实答案很简单,用grep –w "def" 或者是grep "\…
代码:opts,argv = getopt.getopt(sys.argv[1:],('u:'),['ad','join','passwd=','domain=','dip=','test','ip=']) 当命令只输入--p就会自动匹配到--passswd,--d就会自动匹配--dip,但是如果是-p就不能匹配到--passwd, 这是python内部的一个机制,方便的同时也会引起一些问题,考虑清楚才行...…
现在项目当中很多已经应用了Jquery-easyUi这个界面框架了,所以,学习一点easyUI的常用工具就显得很重要了,现在介绍的就是我在项目中用到的easyUi的模糊匹配组合框combobox. combobox这个工具可以在用户输入一点前面的数据就会快速的查询出符合当前查询数据的所有数据. 这个工具只要在引入easyUI   jar包的Jsp页面中引用就可以了. 用法: 1. 需要引入class=" easyui-combobox” 2. 参数设置需要在data-options中设置 3.…
一.安装solr4.8: 1.把apache-solr-4.8.1\example\webapps下的solr.war文件拷贝到Tomcat下的Tomcat7.0\webapps目录下,tomcat启动时,solr.war会自动解压生成solr目录. 2.检查解压缩后的solr\WEB-INF\lib下的jar包是否全,最好去apache-solr-4.8.1下的某些jar复制过来,不然启动tomcat有无厘头错误. 3.配置solrhome(索引数据.配置信息存储的地方)路径信息:将Tomca…