solr多词匹配搜索问题及解决】的更多相关文章

使用solr进行某较长词搜索时出现了一些问题,及解决方案. 1.问题:solr默认使用OR方式搜索,当搜索一个很长的次,比如“XX集团股份有限公司”,分词器分词后,使用OR方式匹配,会匹配到很多结果. 解决:然后我使用了AND方式搜索(managed-schema中设置<solrQueryParser defaultOperator="AND">),结果匹配的很精准了. 2.问题:但是当我搜索“XX集团股份有限公”的时候,匹配到0个结果,因为存入时索引的信息为:XX 集团…
情景: 利用Solr做一批词的逆文档频率.Solr中存储的每条数据为一篇文章,此时需要查出某词在多少篇文章中出现过,然后用公式:某词逆文档频率 = 总文章数 / (出现过某词的文章数+1) 来计算. 以下两幅图为两种搜索方式的搜索结果对比: 结果:对某词进行搜索时,将某词用英文双引号括起来就是精确搜索. 直接调用API也是类似的:http://IP:8983/solr/IDFcollection/select?q=quanwen:"机械制造"&wt=json&inden…
转载请标明出处:http://blog.csdn.net/hu948162999/article/details/47727159 本文主要介绍了在短语.句子.多词查询中.solr在控制查询命中数量.之后再对结果集进行排序. 在solr中 默认是or 查询.也就是说:假设搜索q 中 分出来的词越多.所匹配的数量也就越多. 如:搜索短语  "中国联想笔记本" ,分词结果:中国 .联想 . 笔记本. 覆盖结果集:仅仅要文档中包括这3个随意词,都给返回. 排序结果:依照solr的打分公式.默…
在全文搜索中默认排序是按照匹配度权值score排序的,权值越大位置越靠前,那为什么有很多时候全词匹配反而不在最前面那,其实很简单因为全词匹配权值也就是100,但是还有很多权值大于100的排在了前面. 比如 搜索“中国”,分词是 中,国,中国.那么有两个值“中国人”,“中国人在中国”这两个那个权值更大那,显然是“中国人在中国”权值更大,所以“中国人在中国”排在前面,全词匹配的“中国人”反在后面. 那如何让全词匹配结果在最前面那. 一个简单的办法,再建一个不分词的字段存储相同值,匹配. A不分词:“…
使用 Apache Lucene 和 Solr 4 实现下一代搜索和分析 使用搜索引擎计数构建快速.高效和可扩展的数据驱动应用程序 Apache Lucene™ 和 Solr™ 是强大的开源搜索技术,使组织能够轻松地显著增强数据访问.借助 4.x 版的 Lucene 和 Solr,向数据驱动应用程序中添加可扩展的搜索功能变得比以往更加轻松.Lucene 和 Solr 提交者 Grant Ingersoll 介绍了与相关性.分布式搜索和分面 (facet) 相关的最新 Lucene 和 Solr…
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…
一.前言 谛听系统是vivo的内容审核平台,保障了vivo各互联网产品持续健康的发展.谛听支持审核多种内容类型,但日常主要审核的内容是文本,下图是一个完整的文本审核流程,包括名单匹配.敏感词匹配.AI机器审核.人工审核四个环节.待审核文本需要顺次通过名单匹配.敏感词匹配.AI机器审核三个流程,若结果为嫌疑则需要人工审核,否则将直接给出确定的结果. 敏感词匹配功能可以迅速地匹配文本中的敏感词汇,算法平均耗时为50ms,因其简单.快速.直接.灵活的特点,成为了审核人员对抗垃圾文本的利器.然而身处信息…
solr 分词词库管理思路 大概有以下几种思路: 1. 自定义 SolrRequestHandler        由 SolrRequestHandler 来进行对分词器,进行A)词库加载B)动态添加词库 等操作        这样的话,还需要在内存中hold 住所有的词,或者需要引用到分词的jar 2. 在自定义分词器中实现从文件拉取        对词库文件设置FileWatcher,只要文件有变更,就重新加载一遍词库.        这个成本比较高. 3.  在自定义分词器中实现从db拉…
未找到约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryServiceRequiredTypeIdentity Microsoft.VisualStudio.Text.ITextDocumentFactoryService匹配的导出的解决办法 之前用的是window 8系统,但是后来因为各种原因,用了半年后,装回了window7. 然后依次安装了 vs2010 vs2012 ,但是由于需要创建一个新的项目(mvc 4.0…
在oracle中用整词匹配\b来包裹想要匹配的词并不可行, 正确的做法应该是这样: FROM DUAL WHERE REGEXP_LIKE('1 2 3 14','(^|\s|\W)3($|\s|\W)'); 并且第一个参数的分割应该用空格,如此以来,我们可以做到整词匹配,这也意味着你匹配“4”是匹配不到的,因为前边的是“14”. 具体原因可以看看stackoverflow上的问答,“\b”这个表达式 oracle现在并不支持.   参考: http://stackoverflow.com/qu…
solr启动时报错org.apache.solr.common.SolrException: undefined field text的解决办法 原创 2015年08月21日 20:47:40 标签: 4204 编辑 删除 这个问题困扰了我许久.看到很多所谓的解决办法都没有效果.比如把solrconfig.xml里的<str name="df">text</str>改成<str name="df">id</str>,或…
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&…
“/”应用程序中的服务器错误. 找到多个与名为“Index”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况.如果是这样,请通过调用含有 'namespaces' 参数的 'MapRoute' 方法的重载来注册此路由. “Index”请求找到下列匹配的控制器:CMS.Areas.Mana.Controllers.IndexControllerCMS.Controllers.Inde…
“/”应用程序中的服务器错误. 找到多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配的控制器,则会发生这种情况.如果是这样,请通过调用带有 'namespaces' 参数的 "MapRoute" 方法的重载来注册此路由. “Home”请求找到下列匹配的控制器:WebAppAreasDemo.Controllers.HomeControllerWebAppAreasDemo…
  后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可能是根据数据库的字段查询的,那是怎么查询出来的呢,为什么千奇百怪的关键字都可以查询出来呢? 答案就是全文检索工具的实现,luncence采用了词元匹配和切分词.举个例子:北京天安门------luncence切分词:北京  京天  天安  安门  等等这些分词.所以我们搜索的时候都可以检索到.…
重装系统之后遇到一个问题,在搜索栏不能搜索到应用程序,Windows 10 Search can't find ANY applications. Even calculator - Super User  https://superuser.com/questions/947392/windows-10-search-cant-find-any-applications-even-calculator,也有人出现和我相同的问题,一点开看 发现有好多方法,刚开始时有点晕啊,然后想想,看看解决方法…
在项目中遇到一个需要通过某个字的值筛选匹配带出其他信息的需求,在这里将实现思路整理出来. 源码地址:https://github.com/whieenz/SearchSelect 先看效果图 上图中的示例是通过姓名模糊匹配,然后将匹配到的信息显示到结果区域,通过点击目标信息带出其他详细信息例子. 实现原理 先看界面布局简图 从图中可以看出该功能主要包含搜索区域.顶层.底层.结果区域(RecycleView).空白区域五个模块. 搜索区域:核心原理EditView 采集模糊匹配条件,同时给Edit…
按照一定规则使用匹配模式在目标空间进行搜索,然后执行相应操作: 运行时系统将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…
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…
监听文本框改变: 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…
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')…
给出一个有问题的单机多tomcat实例引用同一个solr实例部署图. 这样的部署必定造成一个问题.启动第二个tomcat实例时,一定会报索引目录文件锁已经被占用. 最初的解决的方法是.有多少个tomcat实例,就部署多少个solr的war包. 然后依次改动每一个solr的core的data路径. 如此完毕线上部署,实在麻烦,并且easy出错! 今天请教了位有多年solr经验的同事,最终了了这个心结. 在Java的启动參数 -Dname=value 上做文章.在启动參数上加入一个标志这个实例的独特…
使用bootstrap3-typeahead.js 文件在这里 引用: <script type="text/javascript" src="@Url.Content("XXXXX/bootstrap3-typeahead.js")" charset="UTF-8"></script> input控件 <input id="local_data" autocomplete=&…
问题描述: 最近研究了一段时间.netcore dbfirst,新建类库用来生成实体模型,执行命令总是提示 未找到与命令“dotnet-ef”匹配的可执行文件,根据网上的解决办法引用 Microsoft.EntityFrameworkCore.Tools 问题依旧不能得到解决. 解决办法: 右击项目弹出菜单点击编辑***.csprog,增加如下配置. <ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFra…
今天给一个朋友调试DT6.0内核的站点,搜索中文出现http 403 forbidden,找了半天,很纳闷,最后一个一个查看源代码总算找到,在此分享给大家! 解决的方法: 1.找到include/safe.func.php 2.找到  http 403 forbidden 或者 dalert('HTTP 403 Forbidden', DT_PATH);的代码,并且注释掉. 通过上面的处理,就可以解决Destoon开启伪静态后搜索中文字词出现 403 的问题. 现在这样就能搜索成功了:http:…
这两天在学习solr,结果刚到编译solr源码就卡住了,足足卡了两天,网上找各种解决办法都是简单带过,说是缺少jar包,下载下来放到对应位置就好了....对应位置???咋不说这个问题用相应方法解决即可/微笑?最终通过自己一通乱搞,终于“Build Successful”,具体哪一步起了作用实在不敢说,尝试的方法是在太多了,只把正确的记录下来好了,自己整理一下思路,能够帮到有同样问题的人更好啦~ 编译过程不再赘述,开始主要是看这两个教程 1.https://blog.csdn.net/yeshen…
有人说应该先转成Access, 再转到Sql Server. 其实用处并不大, 要截断的还是被截断了. 原因是,SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别.如果前8条是少于255的字符串,则设成nvarchar(255) 类型,但如果Excel后面的记录中有长度超过255的,导入时就会出错.即使在导入设置映射时调整了该字段的长度也不行. 解决的办法是改注册表 如果是:Jet引擎. HKEY_LOCAL_MACHINE\SOFTWARE\Microsof…
我的outlook版本是2007 SP3,英文版.一直有搜索不到邮件的问题,例如在搜索框输入发件人的名字,或者邮件中的词语,就是搜索不到邮件,即使那封邮件确实存在. 在网上搜索,Microsoft 的英文论坛提供了一个方法,英文论坛链接 Tools --> option --> serch option -->反选所有的选项,再重启outlook 这个方法听起来并不是很科学,但对于我的问题,确实有用. 转载请保留 http://www.cnblogs.com/lion-zheng/ 转载…
新建MVC项目,添加HomeController,然后添加名字为Admin的Area后,新建HomeController.这个时候,运行项目会出现以下错误: 解决办法如下: 打开网址下面的HomeController,其命名空间如图: 我们修改RouteConfig.cs文件,给路由加上命名空间,代码如下: 同理,我们看到Admin这个area的命名空间为MvcArea.Areas.Admin.Controllers,我们修改AdminAreaRegistration.cs文件,加上命名空间,代…