一、solr的介绍
Solr是一个高性能,采用Java开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
二、配置
1、下载solr.zip
官方网站:http://lucene.apache.org/solr/
上图为下载solr后对应的目录,打开命令行窗口可启动solr,启动分为两种,一种为云模式
另一种为单机模式,云模式创建的项目在example->cloud目录下,默认创建两个端口(8983和7574),单机模式创建的项目在 server->solr下,启动在bin目录下用cmd进行启动。
云模式: solr start -e cloud –noprompt单机 :solr start创建项目: solr create_collection 项目名
创建成功!
2、下载中文分词(IK-Analyzer)
IKAnanlyzer分词配置(managed-schema)
managed-schema
<!--Field:文档里的各个属性值-->
<field name="question_title" type="text_ik" indexed="true" stored="true" multiValued="true"/>
<field name="question_content" type="text_ik" indexed="true" stored="true" multiValued="true"/>
<fieldType name="text_ik" class="solr.TextField">
<!--索引时候的分词器-->
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.util.IKTokenizerFactory" useSmart=“false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<!--查询时候的分词器-->
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.util.IKTokenizerFactory" useSmart=“true"/>
</analyzer>
</fieldType>
下载后自己进行编译打包
3、数据库数据导入
solrconfig.xml
<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://localhost/wenda"
user="root"
password="123456"/>
<document>
<entity name="question" query="select id,title,content from question">
<field column="content" name="question_content"/>
<field column="title" name="question_title"/>
</entity>
</document>
</dataConfig>
4、配置路径
<lib dir="${solr.install.dir:../../../..}/ext/ikanalyzer" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/ext/mysql" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
5、重新启动solr
出现问题:
意思是DIH在solr8.6将被移除并交给第三方社区处理,我去,,,这不是坑爹吗?没办法社区没找到只能重新了一个7.x的版本,重新再操作一次,结果又出现了错误,真的无语。。。。
Solr SolrCore 初始化失败 {{Core}}:{{error}}
后来网上说是缓存的原因,于是清理一下网站的缓存就可以了,除了Chrome其他浏览器估计不会出现这个错误
刷新页面,成功!!
三(重点)、solr的使用
磕磕碰碰弄了好久,终于可以使用solr了(迫不及待地搓小手手),先来了解一下各个字段代表的功能: