solr高亮问题

shenjianox 2014-12-26 11:56:45
今天发现solr高亮很奇怪的问题
索引库里存在一条记录如:"enterpriseName": "国家安全生产监督管理局",搜索enterpriseName:国家管理局,
理论上出来的结果应该是:<em>国家</em>安全生产监督<em>管理局</em>,
实际结果是:<em>"国家安全生产监督管理局</em>
后来我实验了很多类似的搜索,只要两端匹配上,结果整行都被高亮

各位能帮忙解决下这是什么情况
没分了 抱歉
...全文
923 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
baoguoding 2017-08-11
  • 打赏
  • 举报
回复
怎么去除长分词?
qqqwww159 2017-07-25
  • 打赏
  • 举报
回复
高亮显示的字段必须是 ik分词的 是什么意思?
king_jie 2016-05-22
  • 打赏
  • 举报
回复
你的问题我这也碰到了,这个问题研究了很久,我分析的原因如下: 如果在分词的结果中包含长词,则highligter默认会根据搜索词直接匹配最长结果,比如楼主你分词结果为: 国家安全 国家 安全生产监督管理局 安全 生产 监督管理 监督 管理局 管理 局 在这个结果中分出的词包含了“国家安全”和“国家”这两个以“国家”开头的词,而高亮器在匹配你的搜索词“国家管理局”时先拆成“国家”、“管理局”等词,然后去高亮“国家”这个词的时候匹配上的是“国家安全”而不是“国家”(我猜想是跟正向最大匹配原则有关?因为字典的树状结构是以国字开头的。不知道是不是这个原因),所以导致高亮不正确。 我的解决方案如下; 1.首先对分词结果中的长词进一步处理全部处理成短词,比如以上结果中”安全生产监督管理局“这个进一步可以拆分出”安全“、”生产“等词语(楼主的分词里已经有了,所以针对你情况可以吧长词全部去除) 2..对高亮结果中的高亮标签合并 这里之所以要合并是因为拆成短词了,比如搜”国家安全生产“这个词时,高亮结果为<em>国家</em><em>安全</em><em>生产</em>。这时只要把结果中</em><em>相邻的标签全部处理掉就可以了。 总结: 1.这种方式的好处是不论你输入什么样的关键词都能搜到并且能准确高亮(因为你已经拆成短词) 2.缺点是需要合并高亮结果(在我的实践中hl.mergeContiguous参数并没有作用)
javacache 2016-05-17
  • 打赏
  • 举报
回复
高亮显示的结果 跟字数显示的结果(150个字) 在控制台打印出来都是正常的,为什么在前台的页面不能显示啊,还望大牛们帮忙解答一下啊
pengdingyong 2016-01-26
  • 打赏
  • 举报
回复
是因为没有分词吗
dragon_cdut 2015-08-28
  • 打赏
  • 举报
回复
就是,我也遇到了,我的是中间高亮,两边的不亮,但是结果照样能搜出来
shenjianox 2015-01-27
  • 打赏
  • 举报
回复
引用 7 楼 dandongsoft 的回复:
[b]高亮显示的字段必须是 ik分词的[/b]
这个是必须的啊 帮我考虑下我的问题
dandongsoft 2015-01-23
  • 打赏
  • 举报
回复
[b]高亮显示的字段必须是 ik分词的[/b]
shenjianox 2015-01-22
  • 打赏
  • 举报
回复
有人吗 这个问题 大家帮我解决下牙
shenjianox 2015-01-08
  • 打赏
  • 举报
回复
引用 3 楼 ygycomon 的回复:
可以试一下“国家安全生产监督管理局”的分词结果
国家安全 国家 安全生产监督管理局 安全 生产 监督管理 监督 管理局 管理 局 这是分词的结果
shenjianox 2015-01-08
  • 打赏
  • 举报
回复
引用 2 楼 xyj0808xyj 的回复:
schema.xml 是如何配置的,还有你SolrJ 高亮显示 代码是如何写的?


是通过solrj调用的,没在schema.xml中配置的


shenjianox 2014-12-26
  • 打赏
  • 举报
回复
大家想想为什么啊
致知Fighting 2014-12-26
  • 打赏
  • 举报
回复
可以试一下“国家安全生产监督管理局”的分词结果
0808xyj 2014-12-26
  • 打赏
  • 举报
回复
schema.xml 是如何配置的,还有你SolrJ 高亮显示 代码是如何写的?
1 概述 4 1.1 企业搜索引擎方案选型 4 1.2 Solr的特性 4 1.2.1 Solr使用Lucene并且进行了扩展 4 1.2.2 Schema(模式) 5 1.2.3 查询 5 1.2.4 核心 5 1.2.5 缓存 5 1.2.6 复制 6 1.2.7 管理接口 6 1.3 Solr服务原理 6 1.3.1 索引 6 1.3.2 搜索 7 1.4 源码结构 8 1.4.1 目录结构说明 8 1.4.2 Solr home说明 9 1.4.3 solr的各包的说明 10 1.5 版本说明 11 1.5.1 1.3版本 11 1.5.2 1.4版本 12 1.6 分布式和复制 Solr 架构 13 2 Solr的安装与配置 13 2.1 在Tomcat下Solr安装 13 2.1.1 安装准备 13 2.1.2 安装过程 14 2.1.3 验证安装 15 2.2 中文分词配置 15 2.2.1 mmseg4j 15 2.2.2 paoding 19 2.3 多核(MultiCore)配置 22 2.3.1 MultiCore的配置方法 22 2.3.2 为何使用多core ? 23 2.4 配置文件说明 23 2.4.1 schema.xml 24 2.4.2 solrconfig.xml 25 3 Solr的应用 29 3.1 SOLR应用概述 29 3.1.1 Solr的应用模式 29 3.1.2 SOLR的使用过程说明 30 3.2 一个简单的例子 30 3.2.1 Solr Schema 设计 30 3.2.2 构建索引 30 3.2.3 搜索测试 31 3.3 搜索引擎的规划设计 32 3.3.1 定义业务模型 32 3.3.2 定制索引服务 34 3.3.3 定制搜索服务 34 3.4 搜索引擎配置 34 3.4.1 Solr Schema 设计(如何定制索引的结构?) 34 3.5 如何进行索引操作? 36 3.5.1 基本索引操作 36 3.5.2 批量索引操作 37 3.6 如何进行搜索 39 3.6.1 搜索语法 39 3.6.2 排序 42 3.6.3 字段增加权重 42 3.6.4 Solr分词器、过滤器、分析器 42 3.6.5 Solr使用 46 4 SolrJ的用法 46 4.1 搜索接口的调用实例 46 4.2 Solrj的使用说明 47 4.2.1 Adding Data to Solr 47 4.2.2 Directly adding POJOs to Solr 49 4.2.3 Reading Data from Solr 51 4.3 创建查询 51 4.4 使用 SolrJ 创建索引 52 4.5 Solrj包的结构说明 53 4.5.1 CommonsHttpSolrServer 53 4.5.2 Setting XMLResponseParser 53 4.5.3 Changing other Connection Settings 53 4.5.4 EmbeddedSolrServer 54 5 Solr的实际应用测试报告 54 5.1 线下压力测试报告 54 5.2 线上环境运行报告 54 6 solr性能调优 55 6.1 Schema Design Considerations 55 6.1.1 indexed fields 55 6.1.2 stored fields 55 6.2 Configuration Considerations 55 6.2.1 mergeFactor 55 6.2.2 mergeFactor Tradeoffs 56 6.3 Cache autoWarm Count Considerations 56 6.4 Cache hit rate(缓存命中率) 56 6.5 Explicit Warming of Sort Fields 56 6.6 Optimization Considerations 56 6.7 Updates and Commit Frequency Tradeoffs 56 6.8 Query Response Compression 57 6.9 Embedded vs HTTP Post 57 6.10 RAM Usage Considerations(内存方面的考虑) 57 6.10.1 OutOfMemoryErrors 57 6.10.2 Memory allocated to the Java VM 57 7 FAQ 58 7.1 出现乱码或者查不到结果的排查方法: 58

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧