使用 Solr 创建 Core 并导入数据库数据
1. 输入 http://localhost:8080/solr/index.html 来到 Solr 的管理界面;
2. 点击左侧 Core Admin --> Add Core,然后输入自己想要的名字即可,输入完成点击 Add Core,如下图:
如果出现以下这种错误:Error CREATEing SolrCore 'log_core': Unable to create core [log_core] Caused by: Can't find resource 'solrconfig.xml' in classpath or 'E:\jd\workspace-solr\solr\log_core',则说明没找到需要的配置文件;
修改步骤如下:
(1)找到 Solr 目录(注意不是 Tomcat 下的 Solr,也不是工作空间的 Solr):E:\jd\solr-6.6.2\server\solr\configsets\sample_techproducts_configs\conf,然后复制 conf 这个目录到工作空间的 Solr 中的 log_core(刚才创建的 Core 目录名) 目录下(我的地址:E:\jd\workspace-solr\solr\log_core);
(2)然后重新点击 Add Core 就会发现创建 Core 成功;
3. 使用 dataimport 导入数据库数据;
(1)首先导入三个 jar 包到 .../webapp/solr/WEB-INF/lib/ 目录下:分别是 solr-dataimporthandler-6.6.2.jar(目录地址 .../solr-6.6.2/dist)、solr-dataimporthandler-extras-6.6.2.jar(目录地址 .../solr-6.6.2/dist)、mysql-connector-java-5.1.34.jar(根据数据库类型导入不同的 jar 包);
(2)找到 E:\jd\solr-6.6.2\example\example-DIH\solr\db\conf\db-data-config.xml 文件,将其复制 E:\jd\workspace-solr\solr\log_core\conf\ 目录下,并改名为 data-config.xml;
(3)打开 E:\jd\workspace-solr\solr\log_core\conf\solrconfig.xml 文件,并在 </config> 标签之前添加以下内容:
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
(4)打开刚才复制的 data-config.xml (E:\jd\workspace-solr\solr\log_core\conf\data-config.xml)文件,并进行如下编辑:
<dataConfig>
<!-- 这是 mysql 的配置 -->
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/new" user="root" password="123" />
<document>
<!-- name 属性,就代表着一个文档,可以随便命名 -->
<!-- query 是一条 sql,代表在数据库查找出来的数据 -->
<entity name="log" query="select * from t_log">
<!-- 每一个 field 映射着数据库中列与文档中的域,column 是数据库列,name 是solr 的域(必须是在 managed-schema 文件中配置过的域才行) -->
<field column="logId" name="id"/>
<field column="modelName" name="chat_type"/>
<field column="operUser" name="chat_send"/>
<field column="operTime" name="chat_receive"/>
<field column="operType" name="chat_content"/>
<field column="operContent" name="chat_date"/>
</entity>
</document>
</dataConfig>
(5)在 managed-schema 文件中配置需要的域
介绍:
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
name:域名
type:域的类型,必须匹配类型,不然会报错
indexed:是否要作索引
stored:是否要存储
required:是否必填,一般只有 id 才会设置
multiValued:是否有多个值,如果设置为多值,里面的值就采用数组的方式来存储,比如商品图片地址(大图,中图,小图等)
第一种配置域(field):
<!-- 配置自定义的 field -->
<field name="log_modelName" type="string" indexed="false" stored="true" />
<field name="log_operUser" type="string" indexed="false" stored="true" />
<field name="log_operTime" type="string" indexed="false" stored="true" />
<field name="log_operType" type="string" indexed="false" stored="true" />
<field name="log_operContent" type="string" indexed="false" stored="true" />
第二种配置动态域(dynamicField):
1 <dynamicField name="log_*" type="string" indexed="false" stored="true" />
4. 开始进入后台导入数据库数据,选择 log_core --> DataImport --> Execute,然后就开始执行导入数据库数据,如果数据多的话可以点击 Refresh Status 查看数据导入进度,导入成功会出现如下界面:
5. 点击 Query --> Execute Query 进行数据的查询:
6. 创建 Core 并导入数据库数据完结。
使用 Solr 创建 Core 并导入数据库数据的更多相关文章
- Solr 创建core 从MySql数据库中导入数据
一.创建数据表和数据 在MySql数据中创建mysolrInfo表, 创建字段 id 主键,自动增加 pname :姓名 age :年龄 addtime :增加时间 增加几条数据 二.创建core 当 ...
- solr7.4创建core,导入MySQL数据,中文分词
#solr版本:7.4.0 一.新建Core 进入安装目录下得server/solr/,创建一个文件夹,如:new_core 拷贝server/solr/configsets/_default/con ...
- solr导入数据库数据-tinyint数据转boolean
solr在导入mysql数据库数据时,遇到一个问题:数据类型为tinyint的数据对应不到solr中的数据类型,因此就需要将tinyint转一下. 修改schema.xml文件,如下: 1.添加boo ...
- Solr导入数据库数据
接Solr-4.10.2与Tomcat整合.1.在solrconfig.xml中添加数据导入节点,solrconfig.xml路径为D:\solr\data\solr\collection1\conf ...
- Solr创建Core的两种方法
创建Core的两种方法: 第一种方法: 1.打开dos命令窗口,切换目录到${solr.home}\bin,然后输入:solr create -c corename之后回车: 2.打开solr安装文件 ...
- lucene_08_solr导入数据库数据
一步:在solr家目录中导入 下图的jar包 第二步:配置solr 家目录 solr_home\collection1\conf\solrconfig.xml.在config标签下加入requestH ...
- solr创建core
创建Core的两种方法: 第一种方法: 1.打开dos命令窗口,切换目录到${solr.home}\bin,然后输入:solr create -c corename之后回车: 2.打开solr安装文件 ...
- Linux 下 oracle 导入数据库—数据泵方式导入dmp文件
dmp导出数据源的oracle版本是12c,我本地oracle版本是11g,这在导入数据过程中导致出现错误 一.用system 用户登录oracle,我忘记了system密码,解决办法: [oracl ...
- excel表格导入数据库数据存在则更新不存在添加
public void excelToDB() throws ParseException { String datapath = this.getParameter("datapath&q ...
随机推荐
- 最大流最小割学习 基本知识 | 证明 | FF算法
可行流 : 能流过去就行,不一定是最大流. 最大流:能流到的最大流量.(可能不只一个) 解决最大流: Ford-Fulkerson方法 最小割:从图中去除一些边,使得源点S到汇点T不连通,去除的这些边 ...
- hive 实现类似 contain 包含查询
如何用hive sql 实现 contain 查询? 需求:判断某个字符串是否在另一个字符串中? 方法: 可以自定义函数,但是用正则匹配regexp更方便 代码如下: 首先,查看regexp正则函数的 ...
- 分形之谢尔宾斯基(Sierpinski)三角形
谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集.也有的资料将其称之为谢尔宾斯基坟垛. 其生成过程为: 取一个 ...
- INDEX--从数据存放的角度看索引2
在上次<INDEX--从数据存放的角度看索引>中,我们说到"唯一非聚集索引"和“非唯一非聚集索引”在存储上有一个明显的差别:唯一非聚集索引的非叶子节点上不会包含RID的 ...
- asp.net web api 跨域问题
缘起 以前在asp.net mvc时代,很少出现跨域问题 自从使用了asp.net web api + angular (1/2)之后,开始有跨域问题了. 简单普及下跨域: 我的理解是只要是前台页面与 ...
- sql解决避免除以零的错误
在实际项目中,我们可能会遇到求百分比,比值等带除法的sql语句.这时,我们也许会遇到分母为零的情况.下面给出我总结的一些方法: 1. 用NULLIF函数: 首先说一下NULLIF函数的语法: NULL ...
- 【转】IE浏览器CSS BUG集锦
Internet Explorer CSS Bugs Overview Internet Explorer is famous for not supporting many of CSS prope ...
- 浏览器环境下Javascript脚本加载与执行探析之DOMContentLoaded
在”浏览器环境下Javascript脚本加载与执行探析“系列文章的前几篇,分别针对浏览器环境下JavaScript加载与执行相关的知识点或者属性进行了探究,感兴趣的同学可以先行阅读前几篇文章,了解相关 ...
- Spring IOC 容器源码分析 - 创建单例 bean 的过程
1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑.对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去 ...
- Python入门 ---基础知识
Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...