sorl6.0+jetty+mysql
sorl6.0+jetty+mysql搭建solr服务
1.下载solr
官网:http://lucene.apache.org/solr/
v2.目录结构如下
v3.启动solr(默认使用jetty部署)
在path路径下将 bin文件夹对应的目录加入,然后输入 solr start(或者 solr start -p port,指定端口启动)。在浏览器中访问如下:
当然,还可以启动其他样例的服务,在example目录下有一个READEME.txt,如果感兴趣请看一下。命令格式如下:
Solr example
------------ This directory contains Solr examples. Each example is contained in a
separate directory. To run a specific example, do: bin/solr -e <EXAMPLE> where <EXAMPLE> is one of: cloud : SolrCloud example
dih : Data Import Handler (rdbms, mail, rss, tika)
schemaless : Schema-less example (schema is inferred from data during indexing)
techproducts : Kitchen sink example providing comprehensive examples of Solr features
v4.Individual SolrCore
在server/solr目录下,有一个README.txt的文件,其中说明了如何建立solr core。最简单的建立是直接复制solr中为我们提供好的例子,打开server/solr/configsets目录会发现里面已经有三个例子,因为我们是要从数据库导入数据,所以复制 “data_driven_schema_configs” 这个例子并改名为 “myCollections”。
v5.导入需要的jar包
为了导入数据和链接mysql,我们还需要导入两个重要的jar包。由于mysql的jar包并没有在项目中,我是复制了一份放到了dist目录下面了。另外两个需要的jar包就是dist目录下带有“dataimport”标识的jar包。
然后打开myCollections/conf/solrconfig.xml,引用上面提到的jar包,如下。
v6.建立数据库
建立好之后,随便写入一点儿数据。
v7.添加requestHandler
继续修改myCollections/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>
v8.建立连接配置文件
在myCollections/conf目录下新建data-config.xml, 内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solrdata" user="root" password="123456" batchSize="-1" />
<document>
<entity name="goods" pk="id" dataSource="source1"
query="select * from goods"
deltaImportQuery="select * from goods where id='${dih.delta.id}'"
deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'"> <field column="id" name="id"/>
<field column="name" name="name"/>
<field column="number" name="number"/>
<field column="updateTime" name="updateTime"/>
</entity>
</document>
</dataConfig>
说明:
dataSource是数据库数据源。Entity就是一张表对应的实体,pk是主键,query是查询语句。Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed的名字。其中solrdata是数据库名,goods是表名。
其中deltaQuery是增量索引,原理是从数据库中根据deltaQuery指定的SQL语句查询出所有需要增量导入的数据的ID号。然后根据deltaImportQuery指定的SQL语句返回所有这些ID的数据,即为这次增量导入所要处理的数据。核心思想是:通过内置变量“${dih.delta.id}”和 “${dataimporter.last_index_time}”来记录本次要索引的id和最近一次索引的时间。
v9.managed-schema配置field信息
搜索 <field name= ,添加关联数据库表Column的信息。
注意:默认的 filed 不要删除哦!
v10.添加我们刚刚建立的core
(1).点击Core Admin,配置我们建立的solr Core的信息,如下所示。
(2).点击 Add Core,如下所示。
(3).测试索引是否成功
索引成功
(4).监测查询成功
查询成功
v11.通过代码调用solr服务
简单建立一个java项目,依赖上dist目录下的solr-solrj-6.0.0.jar。
测试代码如下。
对应的实体类。
每测试一次,可以在浏览器中通过query方式查看测试结果是否正确。
v12.参考资料
Solr参考指南 可以下载
sorl6.0+jetty+mysql的更多相关文章
- sorl6.0+jetty+mysql搭建solr服务
1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后 ...
- mysql-databaseython 3.4.0 with MySQL database
Phttp://shttp://stackoverflow.com/questions/23376103/python-3-4-0-with-mysql-databasetackoverflow.co ...
- Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表
Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表 一个个人觉得比较简单小巧的软件. 下面就如何编写如何发布打包来介绍一下吧! 先下载mysql的库文件链接:http://files. ...
- vc6.0连接mysql数据库
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本.. 二.VC6.0的设置 (1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
- SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束。
SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束.
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- VB6.0连接MySQL数据库
VB6.0连接MySQL数据库
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- VC++6.0连接MySQL数据库(MySQL API)
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本..二.VC6.0的设置(1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
随机推荐
- 百度统计和CNZZ到底有哪些不同?
作为互联网门外汉,同时作为不专业的站长,我总是有很多问题想知道,比如百度统计和CNZZ在数据统计上总是有差异,就好像王婆卖瓜,自卖自夸,又好像公说公有理,婆说婆有理. 作为专业的不专业的市场人员,好奇 ...
- 追踪神秘的成都Uber:月入2万元是现实还是传说
4月6日,一个视频在网上疯转——在上海,明星佟大为驾驶着售价近100万元的特斯拉电动汽车,作为一名Uber的司机满市转悠着拉客. Uber——优步,如果你不知道这个词,那就OUT了.就是这样的一款软件 ...
- ural 1057(数位dp)
数位dp题,关键是用树的思维去考虑. 对于一个数字X,要是能表示成K个B的不同次幂,等价于X在B进制下有且只有K个位上面的数字为一,其他位上的数字都为0. 具体读者可以去参考,国家集训队李聪的论文,里 ...
- 吃透C#集合~大话目录
最近买了一本<C#数据结构>的书,这种书确实少见,一般的数据结构都是采用C,C++来实现的,C#可以说是稀有了,呵呵,书写的不错,把C#的核心Collections介绍了一个透彻,对于我来 ...
- 捉Bug:易车注册页布局小臭虫 附demo
--------<!--文章开始-->-------- 开场show:这几天天气异常燥热,早上起来从棉毛衣换到了小短袖,配上一杯冷泡乌龙茶,真是没谁了,这哥们懂得享受哈 开始鼓捣博客,把博 ...
- ASPxGridView后台获取edit、delete、选择框等按钮。
GridViewCommandColumn commandColumn = (GridViewCommandColumn)ASPxGridViewInstance.Columns["#&qu ...
- unicode编码相互转换加密解密
需求:把字符串转换成unicode编码加密. 也可以把unicode编码解密并分析出汉字字母数字字符各多少个. unicode编码 \u 后面是一个16进制编码,必要时需要进行转换. 看源码: 0 & ...
- ELK(ElasticSearch, Logstash, Log4j)系统日志搭建
1.elk平台介绍 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logsta ...
- 浅谈Servlet(三)
一.三种作用域 作用域:web开发中用于存储和获得数据. 1.request 一次请求有效,在forward跳转时可用request作用域传递数据. 2.session client不变,sessio ...
- POJO概念
POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean.EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口.