lucene7.5学习笔记(三)文章相似性检索

时隔四个月我又回来继续填之前说好要写的关于lucene的坑了,按照之前的安排在第三节中应该是介绍如何通过lucene实现搜索词提示的,但是目前我所实现的搜索词提示过于简单,连基本的根据拼音进行中文提示都无法实现,因此这里我改一下顺序先介绍一下如何通过lucene实现文章的相似性检索。

文章的相似性检索就是对比两篇文章的相似程度,这个功能的应用非常广泛,例如在亚马逊上通过对比得知A和B两本书的十分相似,那么自然而然的可以想到给购买的A的读者推荐B时读者购买的概率会很大。目前运用比较多的实现相似性检索的方法是通过TF-IDF算法计算文章的关键字向量,然后通过余弦相似度方法计算文章间的相似值(这只是一种目前比较常用也比较简单的方法,具体lucene7.5中是否就是用了这种方法来实现的我也不知道,这里提一下只是因为我想卖弄一下而已)。

通过lucene7.5进行相似性检索首先要对需要进行相似性计算的数据建立向量索引,具体代码如下。

public static void createIndex(String value) throws IOException {
	String indexDirectoryPath = "D:/similar/";
	// 读取需要索引的文件到Lucene的目录类中,新版的Lucene只支持IO2中的Path类型的变量了。
	Directory indexDirectory = FSDirectory.open(Paths.get(indexDirectoryPath));
	// 创建分词器,这里使用的是SmartChineseAnalyzer分词器,可以根据具体需要使用其他分词器。
	Analyzer analyzer = new SmartChineseAnalyzer();
	// 新版的Lucene中索引创建类只接收IndexWriter
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值