Windows 下solr6.4.1连接数据库,新建索引、简单查询。
来源:互联网 发布:linux vi 定位到最后 编辑:程序博客网 时间:2024/05/21 19:35
索引是solr非常重要的概念,solr查询数据库后把查询结果进行索引,才能达到提高搜索效率的效果。
下面介绍如何配置数据库进行数据查询:
第一步:solr-home/recipe(你的core名称,参考上一篇文章)\conf下面新建配置文件:db-data-config.xml,内如如下:
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/operate?characterEncoding=utf-8" user="root" password="lok,.;pqasw2t5rfgy6"/>
<document name="documents">
<entity name="documents" pk="id" query="SELECT UUID() id,r.id recipeId,r.name,r.content,r.iconPath,r.collectorCount,r.updateTime,r.publishTime,r.commentorCount,
cg.group_id recipeType,rc.deviceModelId,
ra.name auxiliary,ri.name ingredient
from mipot_recipe r LEFT JOIN mipot_recipe_group_content cg on cg.recipe_id = r.id
LEFT JOIN mipot_recipe_cookscript rc on rc.recipeId = r.id
LEFT JOIN mipot_recipe_auxiliary ra on ra.recipeId = r.id
LEFT JOIN mipot_recipe_ingredient ri on ri.recipeId = r.id
where r.state=2200 ORDER BY DATE_FORMAT(r.publishTime,'%Y-%m-%d') desc, r.collectorCount desc,r.commentorCount desc">
<field column="id" name="id" />
<field column="recipeId" name="recipeId" />
<field column="name" name="name" />
<field column="content" name="content" />
<field column="iconPath" name="iconPath" />
<field column="collectorCount" name="collectorCount" />
<field column="updateTime" name="updateTime" />
<field column="commentorCount" name="commentorCount" />
<field column="publishTime" name="publishTime" />
<field column="recipeType" name="recipeType" />
<field column="deviceModelId" name="deviceModelId" />
<field column="auxiliary" name="auxiliary" />
<field column="ingredient" name="ingredient" />
</entity>
</document>
</dataConfig>
dataSource节点用来配置链接的数据库驱动、url、账号、密码等信息;
entity 节点用来配置查询的主键(pk),查询sql(query);
field 节点与查询sql中需要查询的字段和managed-schema配置文件中的field 对应,下一章会详细介绍managed-schema。
第二步:修改同级目录下的solrconfig.xml配置文件找到下面这段:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
如果没有,就把上面这段粘贴复制到你solrconfig.xml里面。
第三步:在solrconfig.xml配置文件里搜索"<lib",会找到以下这段代码:
<lib dir="D:/soft/solr-6.4.1/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="D:/soft/solr-6.4.1/dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="D:/soft/solr-6.4.1/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="D:/soft/solr-6.4.1/dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="D:/soft/solr-6.4.1/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="D:/soft/solr-6.4.1/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="D:/soft/solr-6.4.1/contrib/ltr/lib/" regex=".*\.jar" />
<lib dir="D:/soft/solr-6.4.1/dist/" regex="solr-ltr-\d.*\.jar" />
<lib dir="D:/soft/solr-6.4.1/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="D:/soft/solr-6.4.1/dist/" regex="solr-velocity-\d.*\.jar" />
上面的“D:/soft/solr-6.4.1/”solr自带的是${solr.instaill/.././../},这个路径是错误的,如果不修改你本地的路径,启动的时候会报错!
做完上面的三步已经配置好数据库。下面的链接是创建索引的url:
http://localhost:8080/solr/recipe/dataimport?command=full-import
用浏览器打开后,会报错org.apache.solr.common.SolrException: Error loading class 'com.mysql.jdbc.Driver',这时你在第三步加上一句:
<lib dir="D:/soft/solr-6.4.1/server/lib/" regex="mysql-connector-java-5.1.38.jar" />
mysql-connector-java-5.1.38.jar你可以网上下载,要符合你mysql的版本。
再次浏览:http://localhost:8080/solr/recipe/dataimport?command=full-import创建索引,没有意外的话可以创建成功!
访问:http://localhost:8080/solr/index.html的solr后台,左侧菜单点击core admin 然后在左侧菜单最下面有个下拉框:core selector 选择你的core,可以做一些查询操作,如下图:
注:solr的查询、索引等操作可以使用reset风格的url进行操作:
创建索引:http://localhost:8080/solr/recipe/dataimport?command=full-import
查询:http://localhost:8080/solr/recipe/select?indent=on&q=*:*&wt=json,查询的语法,我会在以后的章节进行详细介绍。
- Windows 下solr6.4.1连接数据库,新建索引、简单查询。
- Windows下 solr6.4.1新建core
- windows下安装solr6.4.1
- windows下安装solr6.4.1
- windows下安装solr6.4.1
- linux下solr6.4通过虚拟机连接mysql数据库导入数据查询
- Windows下MySQL学习(一):安装和启用,新建数据库和数据表,matlab连接MySQL
- windows solr6 mmseg4j ik sqlserver数据库
- 数据库的简单查询和连接查询
- windows系统下搭建solr6服务器
- ADO.NET 用windows方式连接数据库以及简单的增,删,改,查询操作
- php pdo 简单连接数据库、查询
- 简单的查询数据、连接数据库
- JDBC简单连接查询MySQL数据库
- Sql 数据库的新建,表的新建,约束操作,简单查询
- Windows 7下通过Excel2007连接Oracle数据库并对表查询
- SQlite 在windows环境下的配置和新建数据库
- solr6-定时增量索引
- canvas实现粒子特效
- 安卓复习之旅—Activity的启动流程
- 代码托管完全初始化的仓库(githup 和 sourceTree 为例)
- RecursiveTask
- Java NIO —— 用 Path 取代 File
- Windows 下solr6.4.1连接数据库,新建索引、简单查询。
- BUG_Cannot merge new index 65810 into a non-jumbo instruction!
- 张正友标定
- python:txt文件转换为csv文件
- maven 单独构建多模块项目中的单个模块
- bootstrap-treeview
- xcode8警告Reading from private effective user settings
- 微信小程序问题
- C#学习日记2017-02-24 DateTime类 集合