首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Lucene的API,我可以提升terms吗?

使用Lucene的API,我可以提升terms吗?
EN

Stack Overflow用户
提问于 2011-12-01 14:44:13
回答 1查看 2.2K关注 0票数 3

使用Lucene的查询解析器,可以通过附加"^n“来提升术语(导致它们在搜索结果中的权重更高),例如,"apple^5派”将赋予术语"apple“五倍的重要性。在使用API构造查询时可以做到这一点吗?请注意,我并不想提升字段或文档,而是一个字段中的单个术语。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-01 21:35:10

您只需要使用Query类的setBoost(float)方法。

例如

代码语言:javascript
复制
TermQuery tq1 = new TermQuery(new Term("text", "term1"));
tq1.setBoost(5f);
TermQuery tq2 = new TermQuery(new Term("text", "term2"));
tq2.setBoost(0.8f);
BooleanQuery query = new BooleanQuery();
query.add(tq1, Occur.SHOULD);
query.add(tq2, Occur.SHOULD);

这等效于解析查询text:term1^5 text:term2^0.8

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

https://stackoverflow.com/questions/8337487

复制
相关文章

相似问题

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