zoukankan      html  css  js  c++  java
  • Lucene Field域类型

    Field 属性:

      Field是文档中的域,包括Field名和Field值两部分,一个文档可以包括多个Field,Document只是Field的一个承载体,Field值即为要索引的内容,也是要搜索的内容。

        是否分词 (tokenized)
          是:作分词处理,即将Field值进行分词,分词的目的是为了索引。
            比如:商品名称、商品描述等,这些内容用户要输入关键字搜索,由于搜索的内容格式大、内容多需要分词后将语汇单元建立索引
          否:不作分词处理
            比如:商品id、订单号、身份证号等

        是否索引 (indexed)

          是:进行索引。将Field分词后的词或整个Field值进行索引,存储到索引域,索引的目的是为了搜索。
            比如:商品名称、商品描述分析后进行索引,订单号、身份证号不用分词但也要索引,这些将来都要作为查询条件。
          否:不索引。
            比如:图片路径、文件路径等,不用作为查询条件的不用索引。

        是否存储 (stored)
          是:将Field值存储在文档域中,存储在文档域中的Field才可以从Document中获取。
            比如:商品名称、订单号,凡是将来要从Document中获取的Field都要存储。
          否:不存储Field值
            比如:商品描述,内容较大不用存储。如果要向用户展示商品描述可以从系统的关系数据库中获取。

    Field 常用类型:

      

       

    // 2. 创建Document文档对象
    for (Sku sku : skus) {
        Document document = new Document();
    
        // 创建域对象,并且放入文档对象中
        document.add(new StringField("id", sku.getId(), TextField.Store.YES));
        document.add(new TextField("name", sku.getName(), TextField.Store.YES));
        document.add(new DoublePoint("price", sku.getPrice()));
        document.add(new StoredField("price", sku.getPrice()));
        document.add(new StoredField("image", sku.getImage()));
        document.add(new StringField("categoryName", sku.getCategoryName(), TextField.Store.YES));
        document.add(new StringField("brandName", sku.getBrandName(), TextField.Store.YES));
    
        // 将文档对象放入到文档集合中
        docList.add(document);
    }
  • 相关阅读:
    第3次作业:卷积神经网络
    第一次作业:深度学习基础
    CSS基础总结
    Java 9.Spring--AOP
    Java 8.Spring--整合Junit测试
    Java 7.Spring--使用注解
    Java 6.Spring--对象的依赖关系-复杂类型注入
    Java 5.Spring的依赖注入
    Java 4.Spring的对象创建的方法
    Java 3.Spring的对象创建的细节
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12547304.html
Copyright © 2011-2022 走看看