• 使用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中的数据复制到另一个域中.

    动态域的作用是什么?

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

  • 相关阅读:
    Java 在方法和作用域内的内部类
    java 内部类和向上转型
    java 内部类使用 .this 和 .new
    java innerclasses(内部类)
    Java过滤器与SpringMVC拦截器之间的关系与区别
    Maven异常:Could not find artifact
    soapUI测试webservice(参数为xml格式的处理方式)
    maven仓库加载本地包依赖
    spring data jpa的学习总结
    Java 中常用缓存Cache机制的实现
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/10738871.html
Copyright © 2020-2023  润新知