solr在win10上搭建并导入数据库数据

-solr7.4.0版本下载
下载地址:http://archive.apache.org/dist/lucene/solr/7.4.0/solr-7.4.0.zip
下载完成解压到文件夹:
先大致讲解一下为什么要选solr,solr是一个搜索引擎底层是基于Apache Lucene 的一个集成框架,它的任务就是搜索,比如电商的搜索商品的,百度一类的差不多都是这种原理,那么提到搜索我们为什么不直接用数据库呢而选用essearch和solr这样的东西呢
1、因为在搜索时用户输入的不确定性,用户可能随便输入一个东西**,我们要经过分析把它分词成许多部分**,这样就算用户输入一组不成句的话也能分出许多词根据这些词我们也能够提取关键字词进行搜索,比如用户输入:中国人 ,可以分成:中国,国人,中国人,这几个词,进行检索。
2、效率高,小伙伴们如果使用过windows的检索文件功能就知道,炒鸡慢,搜索出一个文件名要等许多时间,这时就应该有人想到,为什么不用数据库呢,一句sql like语句+分词器呢,我从网上查阅资料,经过我猜测应该是太过麻烦,要写许多处理语句,并且效率也不高,所以我们选solr,回到刚刚的话题如何高效的查询这些文件呢,solr给了一种方案,把每个文件设置成一个个文档,这些文档的大小、路径和内容设置成不同的域,然后进行分词,把一些关键字变成一个索引,这些索引对应着一个个文档,我们只要对这些索引进行搜索就行了,所以solr是提前准备好等着我们去查询,效率自然就高,还是很神奇的,
猜想:好多语音助手是不是也是这样提取用户说关键字进行分词然后搜索呢?

**

1. 启动进入solr解压的bin下cmd命令(加粗是重点干货)

**
我的是E:\exterSoft\solr-7.4.0\bin,启动命令如图:
在这里插入图片描述
启动完成。访问http://localhost:8983查看
如图
启动的时候可能会遇到错误,先不要管它不影响,接下来创建核心可能会遇到错误new_core: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core new_core: Error loading solr config from E:\exterSoft\s2\solr-7.4.0\server\solr\new_core\conf\solrconfig.xml
解决方案是:进入本机solr目录solr-7.4.0\server\solr下找到我们要创建的core命名的文件夹“myCore”,将
solr-7.4.0\server\solr\configsets\sample_techproducts_configs下conf文件拷到要创建的“new_core”(E:\exterSoft\s2\solr-7.4.0\server\solr\new_core)文件夹下再回到浏览器继续创建core即可;
创建完成如图:
在这里插入图片描述
**

2 配置ik分词器:

**
ik分词器是专门分中文词汇的东西
下载解压后 把两个jar文件复制到solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib中
下载地址https://files-cdn.cnblogs.com/files/zhangweizhong/ikanalyzer-solr5.zip
在这里插入图片描述
在solr-7.4.0\server\solr-webapp\webapp\WEB-INF\classes目录下新建一个classes目录把剩下的文件都复制到里面去。
i在这里插入图片描述
**进入之前创建的core 在solr-7.4.0\server\solr\newCore\conf下打开managed-schema.xml 添加如下代码:

 <fieldType name="text_ik" class="solr.TextField">  
        <analyzer type="index" useSmart="false"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
        <analyzer type="query" useSmart="true"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType>

在这里插入
完成了配置ik重启solr,接着验证如图所示别忘选中text_ik:

在这里插入图片描述
**

3. 配置数据库数据导入

**
solr分析数据库列行然后生成索引。
先导入jar包将下面两个jar和mysql驱动导入如下

在这里插入图片描述在这里插入图片描述
然后修改E:\exterSoft\s2\solr-7.4.0\server\solr\new_core\conf下的solrconfig.xml
加入

<!-- 配置批量导入处理器 --> <admin> <defaultQuery>*:*</defaultQuery> </admin> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
在这里插入图片描述
接着同目录下的
在这里插入图片描述
在E:\exterSoft\s2\solr-7.4.0\server\solr\new_core\conf我的路径是这个,找到下面下面两个文件进行编辑如果没有可以自己创建(这张图里面的data-config是错误的应为不是xml的格式,自己创建的时候要注意)

两个文件
data-config文件内容如下:

在这里插入图片描述
这里列为我的字段,name是managed-schema.xml配置地点要引用。在这里插入图片描述
然后配置manages-schema.xml文件如下:

在这里插入图片描述
接着重启solr然后就是导入数据了点击execute
在这里插入图片描述

点击就可以了。然后自己用query查着玩吧,后期有时间再写一些案例吧。
写一下基本概念知识吧。
core是solr的索引库,可以理解为mysql等的一个数据库,core可以根据需要,创建多个。core从文件结构的角度来看的话,主要包括索引及配置文件,其中最主要的配置文件是:solrconfig.xml和schema.xml。

solrconfig.xml:
从整体上对core进行了配置,例如索引的存放路径、字段的最大长度(maxFiedlLength)、写锁的超时时间(writeLockTimeout)、锁类型(lockType)、是否压缩索引(useCompoundFile)、内存索引缓冲区大小(ramBufferSizeMB)、合并因子(mergeFactor)、删除策略、自动提交策略、缓存设置等,

schema.xml:
主要是对索引的配置, 例如分词器、字段名称+索引方法+存储方式+分词方式、唯一标识字段等,
它好比是机器人学习的学习方法,机器人主动或被动接受特定数据,按照配置转化成索引,然后通过其部件(handler)展示出来, 例如:search、moreLikeThis、spellCheck、factedSearcher等。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值