此部分一定要细心,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 数据导入-查询的更多相关文章

  1. MySQL数据导入导出方法与工具mysqlimport

    MySQL数据导入导出方法与工具mysqlimport<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...

  2. 使用MapReduce将mysql数据导入HDFS

    package com.zhen.mysqlToHDFS; import java.io.DataInput; import java.io.DataOutput; import java.io.IO ...

  3. Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)

    一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...

  4. 使用Logstash把MySQL数据导入到Elasticsearch中

    总结:这种适合把已有的MySQL数据导入到Elasticsearch中 有一个csv文件,把里面的数据通过Navicat Premium 软件导入到数据表中,共有998条数据 文件下载地址:https ...

  5. Sqoop将mysql数据导入hbase的血与泪

    Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天)  版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...

  6. 使用sqoop把mysql数据导入hive

    使用sqoop把mysql数据导入hive export HADOOP_COMMON_HOME=/hadoop export HADOOP_MAPRED_HOME=/hadoop   cp /hive ...

  7. 使用 sqoop 将mysql数据导入到hive表(import)

    Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...

  8. 使用 sqoop 将mysql数据导入到hdfs(import)

    Sqoop 将mysql 数据导入到hdfs(import) 1.创建mysql表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` va ...

  9. Logstash:把MySQL数据导入到Elasticsearch中

    Logstash:把MySQL数据导入到Elasticsearch中 前提条件 需要安装好Elasticsearch及Kibana. MySQL安装 根据不同的操作系统我们分别对MySQL进行安装.我 ...

随机推荐

  1. codeforces 613D:Kingdom and its Cities

    Description Meanwhile, the kingdom of K is getting ready for the marriage of the King's daughter. Ho ...

  2. C语言之流的重定向

    写c的小程序断不了需要输入输出,手动输入可太麻烦了.下面介绍IO的重定向方式: .重定向标准输入输出和错误,直接在命令行使用符号< > > >> >>等,还可 ...

  3. POJ2456 Aggressive cows

    Aggressive cows 二分,关键是转化为二分! #include <cstdio> #include <algorithm> ; ; int N, C; int a[ ...

  4. 帝国cms搜索表单用法

    还有一些没有测试,用到了再补充. <form action="[!--news.url--]e/search/index.php" method="post&quo ...

  5. CF 161B Discounts(贪心)

    题目链接: 传送门 Discounts time limit per test:3 second     memory limit per test:256 megabytes Description ...

  6. python合并2个字典

    2种方式,update()和items()方式 In [14]: a Out[14]: {'a': 1, 'b': 2, 'c': 3} In [15]: c = {'d': 4} In [16]: ...

  7. python04 面向对象编程02

    为啥要用类而不用函数呢 记住两个原则: 减少重复代码 代码会经常变更 2    会对变量或字符串的合法性检测(在实例初始化的时候能够统一初始化各个实例的变量,换做函数来说,要弄出同样的变量那么在初始化 ...

  8. 谁都能看懂的单点登录(SSO)实现方式(附源码)

    SSO的基本概念 SSO英文全称Single Sign On(单点登录).SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同 ...

  9. easyUI layout 中使用tabs+iframe解决请求两次方法

    demo中的事例在加载tab页面时是 function createFrame(url) { var s = '<iframe name="iframepanel" scro ...

  10. Spring解析

    Spring还是蛮有技术含量的,可以自己用代码实践一遍,找了一篇实践的案例: http://qingwengang.iteye.com/blog/621678 先mark下,等后面有时间了实践一遍. ...