solr如何让全词匹配结果在最前面】的更多相关文章

在全文搜索中默认排序是按照匹配度权值score排序的,权值越大位置越靠前,那为什么有很多时候全词匹配反而不在最前面那,其实很简单因为全词匹配权值也就是100,但是还有很多权值大于100的排在了前面. 比如 搜索“中国”,分词是 中,国,中国.那么有两个值“中国人”,“中国人在中国”这两个那个权值更大那,显然是“中国人在中国”权值更大,所以“中国人在中国”排在前面,全词匹配的“中国人”反在后面. 那如何让全词匹配结果在最前面那. 一个简单的办法,再建一个不分词的字段存储相同值,匹配. A不分词:“…
转载请标明出处:http://blog.csdn.net/hu948162999/article/details/47727159 本文主要介绍了在短语.句子.多词查询中.solr在控制查询命中数量.之后再对结果集进行排序. 在solr中 默认是or 查询.也就是说:假设搜索q 中 分出来的词越多.所匹配的数量也就越多. 如:搜索短语  "中国联想笔记本" ,分词结果:中国 .联想 . 笔记本. 覆盖结果集:仅仅要文档中包括这3个随意词,都给返回. 排序结果:依照solr的打分公式.默…
package leetcode.day_12_10; import org.junit.Test; /** * 给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 . * <p> * 补全词 是一个包含 licensePlate 中所有的字母的单词.在所有补全词中,最短的那个就是 最短补全词 . * <p> * 在匹配 licensePlate 中的字母时: * <p> * 忽略licensePlat…
在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…
一.前言 谛听系统是vivo的内容审核平台,保障了vivo各互联网产品持续健康的发展.谛听支持审核多种内容类型,但日常主要审核的内容是文本,下图是一个完整的文本审核流程,包括名单匹配.敏感词匹配.AI机器审核.人工审核四个环节.待审核文本需要顺次通过名单匹配.敏感词匹配.AI机器审核三个流程,若结果为嫌疑则需要人工审核,否则将直接给出确定的结果. 敏感词匹配功能可以迅速地匹配文本中的敏感词汇,算法平均耗时为50ms,因其简单.快速.直接.灵活的特点,成为了审核人员对抗垃圾文本的利器.然而身处信息…
使用solr进行某较长词搜索时出现了一些问题,及解决方案. 1.问题:solr默认使用OR方式搜索,当搜索一个很长的次,比如“XX集团股份有限公司”,分词器分词后,使用OR方式匹配,会匹配到很多结果. 解决:然后我使用了AND方式搜索(managed-schema中设置<solrQueryParser defaultOperator="AND">),结果匹配的很精准了. 2.问题:但是当我搜索“XX集团股份有限公”的时候,匹配到0个结果,因为存入时索引的信息为:XX 集团…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con…
环境:Vs2013+Sql Server2012 问题:现在数据库记录如下: Sentence列保存的是英文的句子,我现在想找出所有包含“I”(单词)的句子,如果我用 Sentence like '%I',作为条件的话,那么像上图选中的那条有个单词“it“(不区分大小写的情况下),它也会被Select出来,而我只想找出含有“I”这个单词的句子的记录. 解决:SqlServer提供了模式匹配,类似于正则,详细内容查阅相关文档. 我先写了一个这样的条件: Sentence like '%[^a-zA…
solr是基于 lucence开发的应用,如果query中带有非法字符串,结果很可能是检索出所有内容或者直接报错,所以你对用户的输入必须要先做处理.输入星号,能够检索出所有内容:输入加号,则会报错. 官方的处理办法(java,因为solr是java开发的): https://svn.apache.org/repos/asf/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/util/ClientUtils.java…
#这种方法只适用于Eclipse Classic版本(这个版本带有插件的源码) 在使用Eclispe的过程,感觉自动补全做的不好,没有VS的强大.下面说两个增强自动补全的方法: 1.增加Eclipse的提示功能 在Eclipse中,从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在"."号后面加入我们需要自动提示的首字幕,比如"a…