起个马甲好困难 2010-11-28 17:34
浏览 312
已采纳

Lucene的Highlighter如何才能将不分词直接索引的字段加高亮?

【背景】
用户要求输入文章的完整标题也能将该文章完整检索下来,如“商海里穿梭的鱼:偷懒的6条原则”。

【我的想法】
在设计时多加一个字段用于对文章的标题不分词直接索引,这样就能实现用户要求的功能。但由于要结合Highlighter将用户输入的短语用标签对高亮显示,而Highlighter的getBestFragment()方法又必须要使用分词器或Token进行分词,这样把标题分词后就导致无法对整个文章标题加高亮了。
对于这个问题,虽然可以在做页面时给完整的文章标题可以手工添加高亮标签对,但这样会带来一些麻烦,如代码变得很不协调,更糟糕的是可能会出现这样的情况:用户选择以文章的完整标题作为输入,且标题是“暧昧”,而“暧昧”本身就是一个分词单元,这样就会产生暧昧的标签对嵌套(内层标签对是高亮器自动添加的,外层的则是在页面输出时手工添加的)。

请问对于这个问题,有什么比较好的解决方法呢?

  • 写回答

5条回答 默认 最新

  • beneo 2010-12-03 21:17
    关注

    [quote]
    不知道这算不算停用词了,比如说我输入标题(歌曲名)是“泳儿 - 小蛮腰”,最后分词得到的结果只有“泳”“蛮腰”,而“儿”“小”却没有分出来。所以最后高亮的结果是泳儿 - 小蛮腰。但我需要的是高亮成“泳儿 - 小蛮腰”呀。。
    [/quote]

    这明显有stop word,你换一个没有stop-word的分词就好了,或者你把stop word的词典给删掉。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问