zoukankan      html  css  js  c++  java
  • 权值

    【概述】

    在数学领域,权值指加权平均数中的每个数的频数,也称为权数或权重。在搜索引擎中,权值越高的内容在排序中越靠前。

    实际应用中可以通过修改权值来重新调整索引在列表中的排序位置。

    【示例】

     1     /**
     2      * 创建索引
     3      */
     4     @Test
     5     public void testIndex(){
     6         //存储3篇文章的信息。包括:id、标题、作者、内容
     7         int[] ids = {1,2,3};
     8         String[] titles = {"Hello","I love you","morning"};
     9         String[] authors = {"Hello Mike","HanMeimei","Tom"};
    10         String[] contents= {"Hello,My Name Is Mike; good","Tome,I Love You; good,good,good","Good Moring,I'm so sorry; good,,good,good,good,good"};
    11         
    12         IndexWriter writer = null;
    13         
    14         try {
    15             //1、创建Directory
    16             Directory directory = FSDirectory.open(new File("E:\lucene\index2"));
    17             
    18             //2、创建Writer
    19             ......
    20             
    21             for(int i = 0;i<ids.length;i++){
    22                 doc = new Document();
    23                 
    24                 //为文档添加域(属性)
    25                 String id = Integer.toString(ids[i]);
    26                 doc.add(new Field("id",id,Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));
    27                 doc.add(new Field("title",titles[i],Field.Store.YES,Field.Index.NOT_ANALYZED));
    28                 doc.add(new Field("author",authors[i],Field.Store.YES,Field.Index.NOT_ANALYZED));
    29                 doc.add(new Field("content", contents[i],Field.Store.NO,Field.Index.ANALYZED));
    30                 
    31                 //修改索引的权值
    32                 //默认权值为1.0
    33                 //将Id为1的数据权值调整到5.0
    34                 if(ids[i] == 1)
    35                     doc.setBoost(5.0f);
    36                 
    37                 writer.addDocument(doc);
    38             }
    39         } catch (IOException e) {
    40             e.printStackTrace();
    41         }
    42         finally{
    43             if(writer != null)
    44                 try {
    45                     writer.close();
    46                 } catch (CorruptIndexException e) {
    47                     // TODO Auto-generated catch block
    48                     e.printStackTrace();
    49                 } catch (IOException e) {
    50                     // TODO Auto-generated catch block
    51                     e.printStackTrace();
    52                 }
    53         }
    54     }

    注意:读取索引时读取到的权值和索引中的权值是不同的。因为他们属于不同的doc对象。

    每接触一个新领域,我就像一块掉进水里的海绵,四面八方的养分都让我不断充实。O(∩_∩)O~
  • 相关阅读:
    linux 添加、删除 route
    linux 添加、删除 ip
    oracle virtualbox 添加共享硬盘2
    centos 7.4 + udev + 12.2.0.1 + asm 单点安装
    initdb 简介
    EBS 修改数据库用户apps、网页登录用户sysadmin密码
    postgresql 的几个 timeout 参数
    postgresql 控制命令执行时长 statement_timeout
    postgresql 连接客户端存在 CLOSE_WAIT、TIME_WAIT 状态
    postgresql lsn/location 获取 wal/xlog 文件名
  • 原文地址:https://www.cnblogs.com/zhzcode/p/9806928.html
Copyright © 2011-2022 走看看