• 使用solr进行配置文件


    我现在使用的是一个已经搭建好的solr环境下进行的测试:

    第一步,需要配置solrhome中的一个配置文件schema.xml

     配置内容如下,上面配置的是IK分词器,下面是配置完成的域.

    因为我在这个需要使用的solr进行全文检索的只有这几个重要的字段.

    然后内容如下:

        <!-- IKAnalyzer-->
        <fieldType name="text_ik" class="solr.TextField">
          <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        </fieldType>
    <!--IKAnalyzer Field-->
    <field name="content_ik" type="text_ik" indexed="true" stored="true" /> 
    <!--product-->
    <field name="product_name" type="text_ik" indexed="true" stored="true"/>
    <field name="product_price"  type="float" indexed="true" stored="true"/>
    <field name="product_description" type="text_ik" indexed="true" stored="false" />
    <field name="product_picture" type="string" indexed="false" stored="true" />
    <field name="product_catalog_name" type="string" indexed="true" stored="true" />
    <!--关键词  增加搜索范围 商品名称商品描述-->
    <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
    <copyField source="product_name" dest="product_keywords"/>
    <copyField source="product_description" dest="product_keywords"/>
        <field name="item_goodsid" type="long" indexed="true" stored="true"/>
        <field name="item_title" type="text_ik" indexed="true" stored="true"/>
        <field name="item_price" type="double" indexed="true" stored="true"/>
        <field name="item_image" type="string" indexed="false" stored="true" />
        <field name="item_category" type="string" indexed="true" stored="true" />
        <field name="item_seller" type="text_ik" indexed="true" stored="true" />
        <field name="item_brand" type="string" indexed="true" stored="true" />
    <field name="item_updatetime" type="date" indexed="true" stored="true" />
    <!--复制域-->
    <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
    <copyField source="item_title" dest="item_keywords"/>
    <copyField source="item_category" dest="item_keywords"/>
    <copyField source="item_seller" dest="item_keywords"/>
    <copyField source="item_brand" dest="item_keywords"/>
    <!--当我们需要动态扩充字段时,我们需要使用动态域-->
    <dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />    

    为什么要配置域?

      域相当于数据库的表字段,用户存放数据,因此用户根据业务需要去定义相关的Field(域),一般来说,每一种对应着一种数据,用户对同一种数据进行相同的操作.

    域的常用属性:

    • name:指定域的名称
    • type:指定域的类型
    • indexed:是否索引
    • stored:是否存储
    • required:是否必须
    • multiValued:是否多值

    复制域的作用是什么?

    复制域的作用在于将某一个Field中的数据复制到另一个域中.

    动态域的作用是什么?

      当我们需要动态扩充字段时,我们需要使用动态域.

  • 相关阅读:
    分布式文件系统
    分布式文件系统
    ASP.NET MVC 使用 FluentScheduler 定时器计划任务
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/10738871.html
Copyright © 2020-2023  润新知