lucene7.3如何设置字段权重

2025-11-23 22:19:30

1、首先,lucene可以对指定索引的字段修改搜索权重,使权重大的索引优先显示。

lucene7.3如何设置字段权重

2、@Testpublic void TestBoot() throws Exception {    IndexWriter writer = getIndexWriter(indexDir);    Document document = new Document();    // 添加一个文档信息,相当于一个数据库表字段。

lucene7.3如何设置字段权重

3、Field nameField = new TextField("name", "hello world", Field.Store.YES);    // 权值默认1,该值越大排名越前    nameField.setBoost(1.5F);    document.add(nameField);    document.add(new TextField("describes", "测试luence", Field.Store.YES));   。

lucene7.3如何设置字段权重

4、writer.addDocument(document);    writer.close(); }@Testpublic void TestSearch() throws Exception {    IndexReader reader = getIndexReader();    IndexSearcher searcher = new IndexSearcher(reader);    // 指定Document的某个属性    QueryParser parser = new QueryParser("name", getAnalyzer());    // 指定索引内容,对应某个分词    Query query = parser.parse("hello"); 。

lucene7.3如何设置字段权重

5、 TopDocs hits = searcher.search(query, 10);    for (ScoreDoc sd : hits.scoreDocs) {        Document doc = searcher.doc(sd.doc);        //显示搜索结果的评分(评分=权重*搜索匹配评分)        System.out.println("name:" + doc.get("name") + ",评分:"+sd.score);    }    reader.close(); }

lucene7.3如何设置字段权重

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢