Solr是一个开源的全文搜索引擎,可用于快速和高效地搜索、处理和管理各种类型的文本和数据。Solr通过基于文本的搜索和过滤器来提供复杂的搜索功能和查询能力。Solr6.6是Solr的新版本,与旧版本相比,它引入了一些新功能和改进,其中最重要的是支持数据库的配置。本文将向您介绍Solr6.6如何配置数据库,以便让您轻松上手。
成都创新互联是一家集网站建设,南召企业网站建设,南召品牌网站建设,网站定制,南召网站建设报价,网络营销,网络优化,南召网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
1. 下载Solr
您需要从Solr官方网站(https://lucene.apache.org/solr/)上下载Solr6.6的二进制文件。下载完成后,将文件解压缩到您选择的目录中。
2. 安装数据库驱动程序
在配置Solr6.6与数据库进行通信之前,您需要安装适当的数据库驱动程序。Solr6.6支持多种数据库,包括MySQL,Oracle和PostgreSQL等。
以MySQL为例,您需要在Solr目录的“dist”目录中找到mysql-connector-java.jar文件,该文件是MySQL的Java驱动程序。将该文件复制到您选择的目录中,以便在Solr配置中使用。
3. 创建Solr核
Solr核是为存储和搜索数据而创建的Solr实例。您可以使用Solr控制台或命令行工具来创建Solr核。在本文中,我们将使用控制台来创建核。
打开Solr控制台,并选择“核管理”选项。选择“创建核”并输入核的名称。单击“创建”按钮即可完成核的创建。
4. 配置Solr与数据库进行通信
此时,您已经准备好将Solr与数据库进行通信。要配置Solr与MySQL进行通信,您需要在Solr核的“solrconfig.xml”文件中进行以下设置。
a. 添加MySQL驱动程序
在“solrconfig.xml”文件中,找到以下行:
添加以下行:
其中,C:\SolrDrivers是您下载和复制MySQL驱动程序的目录。
b. 配置数据源
在“solrconfig.xml”文件中,找到以下行:
替换它为:
其中,[database_name]是您要使用的数据库的名称,[username]是连接数据库的用户名,[password]是连接数据库的密码。
c. 配置数据编制器
在“solrconfig.xml”文件中,找到以下行:
替换它为:
其中,[table_name]是您要使用的表的名称。
5. 导入数据
现在,您已经配置了Solr与MySQL进行通信,并可以从数据库中导入数据到Solr。要导入数据,请打开Solr控制台,选择“数据导入”选项,然后单击“全局导入”按钮。
Solr将从MySQL中检索数据,并将其添加到Solr索引中。完成后,您可以在Solr网页界面中搜索并查看导入的数据。
结论
相关问题拓展阅读:
以下资料整理自网络,以及查看solr帮衫埋助文档。主要分为两部分,之一部分是对《db-data-config.xml》的配置内容的讲解(属于高级内容),第二部分是DataImportHandler(属于基础),第三部分是对db-data-config.xml的进阶 之一部分是对《db-data-config.xml》 query是获取全部数据的SQL deltaImportQuery是获取增量数据时使用的SQL deltaQuery是旅塌者获取pk的SQL parentDeltaQuery是获取父Entity的pk的SQL Full Import工作原理: 执行本Entity的Query,获取所有数据; 针对每个行数据Row,获取pk,组装子Entity的Query; 执行子Entity的Query,获取子Entity的数据。 Delta Import工作原理: 查找子Entity,直到没有为止; 执行Entity的deltaQuery,获取变化数拆薯据的pk; 合并子Entity …
以下资料整理自网络,以及查看solr帮助文档。主要分为两部分,之一部分是对《db-data-config.xml》的配置内容的讲解(属于高级内容),第二部分是DataImportHandler(属于基础),第三部分是对db-data-config.xml的进阶
之一部分是对《db-data-config.xml》
query是获取全部数据的SQL
deltaImportQuery是获取增量数据时使用的SQL
deltaQuery是获取pk的SQL
parentDeltaQuery是获取父Entity的pk的SQL
Full
Import工作原理:
执行本Entity的Query,获取所有数据;
针对每个行数据Row,获取pk,组装子Entity的Query;
执行子Entity的Query,获取子Entity的数据。
Delta
Import工作原理:
查找子Entity,直到没有为止;
执行Entity的deltaQuery,获取变化数据的pk;
合并子Entity
parentDeltaQuery得到的pk;
针对每一个pk
Row,组装父Entity的parentDeltaQuery;
执行parentDeltaQuery,获取父Entity的pk;
执行deltaImportQuery,获取自身的数据;
如果没有deltaImportQuery,就组装Query
限制:
子Entity的query必须引用父Entity的pk
子Entity的parentDeltaQuery必须引用自己的pk
子Entity的parentDeltaQuery必须返回父Entity的pk
deltaImportQuery引用的必须是自己的pk
第二部分是DataImportHandler
关于DataImportHandler的具体使用方法,详见下文,如果你英文超级好,那看这个链接吧:
大多数的应用程序将数者悄据存储在关系数据库、xml文件中。对这样的数据进行搜索是很常见的应用。所谓的DataImportHandler提供一种可配置的方式向solr导入数据,可以一次全部导入,也可以增量导入。
概览
目标
能够读取关系数据库中的数据。
通过可配置的方式,能够将数据库中多列、多表的数据生成solr文档
能够通过solr文档更新solr
提供 通过配置文件就能够导入所有数据的能力
能够发现并处理
由insert、update带来的变化(我们假定在表中有一个叫做“last-modified的列”)
能够配置 “完全导入”和“增量导入”的时间
让读取xml文件,并建立索引成为可配置。
能够将
其他的数据源(例如:ftp,scp,etc)或者其他格式的文档(Json,csv)以插件的形式集成到项目中。
设计思路
这个Handler首先要在solrconfig.xml文件中配置下,如下所示。
/home/username/data-config.xml
从它的名字上,我们或许也可以猜到,
DataImportHandler正是requestHandler的实现。我们一共需要在两个地方配置文件中进行一些配置。
solrconfig.xml 。
data-config.xml必须在这个文件中配置,datasource也可以。不过,一般将datasource放在data-config.xml文件中。
data-config.xml
怎样获取数据?(查询语句、url等等)
要读什么样的数据(关系数据库中的列、或者xml的域)
做什么样的处理(修改/添加/删除)清烂
跟关系数据库一起使用
下面几个步骤是必要的.
定义一个data-config.xml 文件,并这个答嫌漏它的路径配置到solrconfig.xml
中关于DataImportHandler的配置中。
给出Connection的信息(假设你选择在solrconfig中配置datasource)
打开DataImportHandler页面去验证,是否该配置的都配置好了。
使用“完全导入”命令将数据从数据库中导出,并提交给solr建立索引
使用“增量导入”命令对数据库发生的变化的数据导出,并提交给solr建立索引。
配置数据源
将dataSource标签直接添加到dataConfig下面,即成为dataConfig的子元素.
数据源也可以配置在solrconfig.xml中
属性type 指定了实现的类型。它是可选的。默认的实现是JdbcDataSource。
属性 name 是datasources的名字,当有多个datasources时,可以使用name属性加以区分
其他的属性都是随意的,根据你使用的DataSource实现而定。
当然 你也可以实现自己的DataSource。
多数据源
一个配置文件可以配置多个数据源。增加一个dataSource元素就可以增加一个数据源了。name属性可以区分不同的数据源。如果配置了多于一个的数据源,那么要注意将name配置成唯一的。
例如:
然后这样使用 ..
..
..
..
配置JdbcDataSource
JdbcDataSource中的属性有
driver(必需的):jdbc驱动名称
url(必需的):jdbc链接
user:用户名
password:密码
批量大小:jdbc链接中的批量大小
任何其他的在JdbcDataSource中配置的属性,都会被直接传给jdbc
driver
配置data-config.xml
solr
document是schema,它的域上的值可能来自于多个表.
data-config.xml的根元素是document。一个document元素代表了一种文档。一个document元素中包含了一个或者多个root实体。一个root实体包含着一些子实体,这些子实体能够包含其他的实体。实体就是,关系数据库上的表或者视图。每个实体都能够包含多个域,每个域对应着数据库返回结果中的一列。域的名字跟列的名字默认是一样的。如果一个列的名字跟solr
field的名字不一样,那么属性name就应该要给出。其他的需要的属性在solrschema.xml文件中配置。
为了能够从数据库中取得想要的数据,我们的设计支持标准sql规范。这使得用户能够使用他任何想要的sql语句。root实体是一个中心表,使用它的列可以把表连接在一起。
dataconfig的结构
dataconfig的结构不是一成不变的,entity和field元素中的属性是随意的,这主要取决于processor和transformer。
以下是entity的默认属性
name(必需的):name是唯一的,用以标识entity
processor:只有当datasource不是RDBMS时才是必需的。默认值是SqlEntityProcessor
transformer:转换器将会被应用到这个entity上,详情请浏览transformer部分。
pk:entity的主键,它是可选的,但使用“增量导入”的时候是必需。它跟schema.xml中定义的uniqueKey没有必然的联系,但它们可以相同。
rootEntity:默认情况下,document元素下就是根实体了,如果没有根实体的话,直接在实体下面的实体将会被看做跟实体。对于根实体对应的数据库中返回的数据的每一行,solr都将生成一个document。
一下是SqlEntityProcessor的属性
query (required) :sql语句
deltaQuery : 只在“增量导入”中使用
parentDeltaQuery : 只在“增量导入”中使用
deletedPkQuery : 只在“增量导入”中使用
deltaImportQuery : (只在“增量导入”中使用) .
如果这个存在,那么它将会在“增量导入”中导入phase时代替query产生作用。这里有一个命名空间的用法${dataimporter.delta.}详情请看solr1.4.
说明早毕如下:
query是获取全部数据的SQL(solr从sql中获取那些数据),启族多列
deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到陆旁芹solr的数据),多列
deltaQuery是获取pk的SQL(数据库新增数据是,追加到solr的数据时的条件,根据id ,条件是最后一次获取的时间,${dataimporter.last_index_time,最后获取的时间})!
关于solr6.6配置数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都网站设计制作选创新互联,专业网站建设公司。
成都创新互联10余年专注成都高端网站建设定制开发服务,为客户提供专业的成都网站制作,成都网页设计,成都网站设计服务;成都创新互联服务内容包含成都网站建设,小程序开发,营销网站建设,网站改版,服务器托管租用等互联网服务。
文章标题:Solr6.6如何配置数据库,一文让你轻松上手! (solr6.6配置数据库)
文章位置:http://www.csdahua.cn/qtweb/news24/532624.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网