solr学习笔记 -- day04 导入数据、自定义类型
2017-06-04 18:03
489 查看
一:创建索引库
注意:在solr中,每个文档必须由id域,每个域必须先定义,后使用1、schema.xml的配置:
(1) field:域的定义name:域的名称
type:域的类型,类型在schema.xml中定义。是否分词在类型中定义
indexed:是否索引
stored:是否存储
multiValued:是否多值,value部分存储的是数组。
(2) dynamicField:动态域
name:域的名称,是一个表达式,表示如果域的名称和表达式能够匹配成功,那么这个域的名称就可以使用
(3) uniqueKey:主键的定义
(4) copyField
4000
:复制域
source:源域
dest:目标域
该域是一中查询优化的手段
(5) fieldType:域的类型定义
name:域的名称
class:类型的实现类
注意:只有solr.TextField类型允许自定义分词器,意思就是如果我们想要定义自己的分词器,就需要用TestField来定义类型
二:使用中文分词器的FieldType定义
1、实现步骤
(1)、把IK分词器的jar包添加到solr工程中(2)、需要把IK的配置文件、停止词典、扩展词典加到solr的classpath下
(3)、在schema.xml中定义FieldType
<!-- 自定义的IK分词器的fieldType类型 class的值必须是solr.TextField --> <fieldType name="text_ik" class="solr.TextField" > <!-- class属性的值为ik分词器的全类路径 --> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"> </analyzer> </fieldType>
(4)、定义自己的Field域,使用的是text_ik这个fieldType
<!-- 定义自己的field域 --> <!--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"/>
(5)、保存文件,重启tomcat,查看solr中域的变化
三:导入数据库中的数据
百度网盘连接:http://pan.baidu.com/s/1skCddiX 密码:qgl2将数据库中的数据导入到索引库,可以配置DataImport功能实现数据库导入
配置步骤:
1、把DataImport依赖的jar包导入solrcore中
2、在solrconfig.xml中配置requestHandler
<!-- 添加将数据库中数据导入索引库的requestHandler --> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
3、在solrconfig.xml统计目录下创建data-cofnig.xml文件,配置数据库连接、sql语句以及结果集和solr中业务域的映射关系
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/lucene" user="root" password="root"/> <document> <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products "> <field column="pid" name="id"/> <field column="name" name="product_name"/> <field column="catalog_name" name="product_catalog_name"/> <field column="price" name="product_price"/> <field column="description" name="product_description"/> <field column="picture" name="product_picture"/> </entity> </document> </dataConfig>
4、重启tomcat,进入solr的Dataimport界面,点击Execute
相关文章推荐
- C++学习笔记(第七章 自定义数据类型 结构体应用 之三)
- Solr 学习笔记(三) 数据导入
- Dynamic CRM 2013学习笔记(三十一)自定义用excel批量导入实体数据
- Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引
- C++学习笔记(第七章 自定义数据类型 结构体应用 之二)
- XSD学习笔记-自定义数据类型
- Hadoop学习笔记(八)---内置数据类型与自定义数据类型
- Solr6.2.1 学习笔记(二)从数据库导入数据
- solr学习笔记-导入mysql数据
- C语言提高班学习笔记 lesson1 自定义数据类型
- 学习笔记——XML Schema自定义简单数据类型
- 2.myql数据导入到solr,并建立solr索引(学习笔记)
- 【MFC学习笔记2】MFC中的数据类型,全局变量,全局函数和宏。
- java学习笔记(二) ----基本数据类型应用
- abap 学习笔记(2) 数据类型声明
- SQL Server 2005 T-SQL 学习笔记:新数据类型
- WinApi学习笔记-简单的数据类型
- abap 学习笔记(1) 数据类型
- Java学习笔记---2.Java标识符和基本数据类型
- C++学习笔记--数据类型