首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lucene重叠排名评分

Lucene重叠排名评分
EN

Stack Overflow用户
提问于 2017-08-25 12:24:41
回答 1查看 59关注 0票数 0

我刚开始使用Lucene,并试图了解如何使用Lucene实现更简单的评分功能。

我在我的数据集中有对象,每个对象都附加了5-10个术语。Lucene默认使用TFIDF相似度对对象进行排名。

TFIDF没有意义,因为我的数据不会改变词频。如何更改默认评分函数,以便根据重叠的关键字进行排名?

Doc1 = {system engineering artificial intelligence}

Doc2 = {architecture logic programming}

Doc3 = {sytem architecture engineering}

对于查询Query = {system architecture},我想要一个排名,其中Doc3的排名高于Doc1Doc2

EN

回答 1

Stack Overflow用户

发布于 2017-09-04 15:21:08

我可以建议使用这样的东西:

代码语言:javascript
运行
复制
Query query = new BooleanQuery.Builder()
            .add(new TermQuery(new Term("text", "system")), Occur.SHOULD)
            .add(new TermQuery(new Term("text", "architecture")), Occur.SHOULD)
            .build();

在这种情况下,doc3的排名将高于doc1doc2,但should子句的性质也允许对其他文档进行排名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45874420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档