solr6.1-----mysql 数据导入-查询
此部分一定要细心,lz 中间错了一个细节,调了好长时间(汗)。请严格按照步骤操作
新建core
步骤1:
在webapps中solrhome下新建一个文件夹名字叫做collection1(名字不固定,可以随便取,但是这个名字在后面的配置中会有所关联。)然后在mynode文件下新建一个名字叫做conf的文件夹(这个文件名字最后不要改。)然后把官网下下来的solr项目中solr-6.0.0\server\solr\configsets\data_driven_schema_configs\conf下的所有东西复制到conf中去。(注意不要复制错!)最后把solr-6.0\solr-6.0.0\example\example-DIH\solr\db\conf下的admin-extra.html, admin-extra.menu-bottom.html ,admin-extra.menu-top.html三个文件也复制到conf中去。
步骤2:
把mysql所需的jar包和solr-6.0\solr-6.0.0\dist下的solr-dataimporthandler-6.0.0.jar和solr-dataimporthandler-extras-6.0.0.jar都复制到项目WEB-INF\lib下。
然后添加mysql 数据库驱动包到此lib文件夹下面。
步骤3:
新建数据库solr_test,已经表goods
步骤4:修改collection1 下面conf 文件夹下面的 solrconfig.xml。 这里我们采用 多模块的方法 (便于维护)
在<requestHandler name="/select" class="solr.SearchHandler"> 上面添加 配置
- <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">data-config.xml</str>
- </lst>
- </requestHandler>
然后在此目录下面 新建文件 data-config.xml , 内容如下
- <dataConfig>
- <dataSource type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://127.0.0.1:3306/test_solr"
- user="root"
- password="root"/>
- <document>
- <entity name="contract" query="select id, name from goods">
- <field column = "id" name= "id" />
- <field column = "name" name = "name" />
- </entity>
- </document>
- </dataConfig>
步骤5:启动tomcat 点击core admin 然后添加add core 输入框中添加刚刚配置的collection1
步骤6:
在下面的select框中选择collection1 ,然后选择dataimport, entity中选择contract。 点击excute 按钮,即可将数据库中的数据导入到solr中
步骤7:
在qurey 选项卡下面,点击excute query。 可以 将导入的数据全部查询出来
Analysis 可以查看当前索引库中字段的列表,已经分词效果。
域、字段列表: 所有的域都是定义在schema.xml 配置文件中。
Documents 索引库的维护功能。可以对索引进行增删改操作。
添加(使用json){"id":"a001","name":"tanjian"} //key (域、字段) ,value(值)
在solr 中一个document 就是一条记录(一条数据)
在solr中 每一个文档必须要有一个id域,类似关系型数据库中的主键
删除文档(使用xml):<delete><id>a001</id></delete><commit />
*:* 代表查询所有
<delete><query>*:*</query></delete><commit /> //删除所有
<delete><query>id:a001</query></delete><commit /> //删除所有
query 查询
q: 查询条件 (*:*) 查询所有的文档 (这里查询必须是完全匹配,只有域和值完全匹配才能查处结果)
fq:过滤条件,查询语法和查询条件完全相同
sort : 排序条件
start,rows : 分页条件
fl : 返回结果中域的列表,如果不写(查询所有的字段)
df : 默认搜索域
hl : 高亮显示
hl.fl : 高亮显示的域
hl.simple.pre : 高亮显示的前缀
hl.simple.post : 高亮显示的后缀
至此(solr的后台管理),通过此种方式的,mysql 数据导入solr 服务器 完成。在solr中 域必须是先定义,后使用
参考:
http://blog.csdn.net/linzhiqiang0316/article/details/51464461
solr6.1-----mysql 数据导入-查询的更多相关文章
- MySQL数据导入导出方法与工具mysqlimport
MySQL数据导入导出方法与工具mysqlimport<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...
- 使用MapReduce将mysql数据导入HDFS
package com.zhen.mysqlToHDFS; import java.io.DataInput; import java.io.DataOutput; import java.io.IO ...
- Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)
一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...
- 使用Logstash把MySQL数据导入到Elasticsearch中
总结:这种适合把已有的MySQL数据导入到Elasticsearch中 有一个csv文件,把里面的数据通过Navicat Premium 软件导入到数据表中,共有998条数据 文件下载地址:https ...
- Sqoop将mysql数据导入hbase的血与泪
Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...
- 使用sqoop把mysql数据导入hive
使用sqoop把mysql数据导入hive export HADOOP_COMMON_HOME=/hadoop export HADOOP_MAPRED_HOME=/hadoop cp /hive ...
- 使用 sqoop 将mysql数据导入到hive表(import)
Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...
- 使用 sqoop 将mysql数据导入到hdfs(import)
Sqoop 将mysql 数据导入到hdfs(import) 1.创建mysql表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` va ...
- Logstash:把MySQL数据导入到Elasticsearch中
Logstash:把MySQL数据导入到Elasticsearch中 前提条件 需要安装好Elasticsearch及Kibana. MySQL安装 根据不同的操作系统我们分别对MySQL进行安装.我 ...
随机推荐
- Enum遇到下拉框
package com.zj.tool; public enum WeekDay { Mon(), Tue(), Wed(), Thu(), Fri(), Sat(), Sun(); /**定义枚举类 ...
- 【poj3264】 Balanced Lineup
http://poj.org/problem?id=3264 (题目链接) 题意 给出序列,求区间最大值-最小值 Solution 无修改,询问较多,ST表水一发. ST算法(Sparse Table ...
- NuGet在创建pack时提示”The replacement token 'author' has no value“问题解决
在创建pack时出现了“The replacement token 'author' has no value”的错误提示. 解决方法: 1.可能程序没生成过,在解决方案上重新生成解决方案,注意Deb ...
- ubantu eclipe
sudo tar zxvf '/tmp/eclipse-inst-linux64.tar.gz' -C/usr/lib 4.在终端输入: $ sudo gedit /usr/share/applica ...
- shutil模块
shutil模块 提供了大量的文件的高级操作,特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作 常用方法 shutil.copyfile(src, dst) 复制文件内容(不包含元数据)从 ...
- python获取知乎日报另存为txt文件
前言 拿来练手的,比较简单(且有bug),欢迎交流~ 功能介绍 抓取当日的知乎日报的内容,并将每篇博文另存为一个txt文件,集中放在一个文件夹下,文件夹名字为当日时间. 使用的库 re,Beautif ...
- Post请求和get请求乱码方式解决
POST提交,提交页面显示中文乱码 //设置请求的编码格式 request.setCharacterEncoding("utf-8"); //设置响应的编码格式,与第一句的编码格式 ...
- Linux 中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 f ...
- hihoCoder1284机会渺茫(唯一分解定理 + 约分)
题目链接 #1284 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出 ...
- 【原】textarea 换行之间的转换
在操纵表单的时候,如果你在textarea输入的内容是换行的,如果没有进行相应的装换,你输出的内容是不会跟着一起换行的.如果后台返回给你的数据是带有<br />换行符的, 那么在texta ...