Lucene-Lucene分词如何增加准确性?

Lucene-Lucene分词如何增加准确性?

灵芸 发布于 2017-09-19 字数 362 浏览 1193 回复 1

比如说数据库字段内容中有北京大学、清华大学、复旦大学时,搜索“北京”,可以得到北京大学,但是如果搜索“北京大学”这个关键词时,连清华大学、复旦大学也被查询出来,我认为分词的时候将北京大学分成两个词,北京和大学,于是带有大学两字的字段自然都被搜出来,但我也只想要北京大学这一个结果,我现在是用编程语言来解决,想问下Lucene可不可以自己解决?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灵芸 2017-09-21 1 楼

我觉得可能跟索引有关系,如果使用词库含有有北京大学,北京,大学三个词,而数据库内容中的北京大学,都会被上面三个词索引上。
当输入‘北京大学’,会直接匹配到北京大学,而不匹配‘北京’或者‘大学’两个词。
解决办法是给词库做同义词/复合词处理,即在搜索一个关键词时会同时匹配出其同义词/复合词的内容。
例如:
北京大学
-北京,大学,北大
因为我没用过Lucene,不知道它上面有没有类似的同义词/复合词分词处理扩展,不过处理方法大概是这样的。