一、简述:越来越多的企业级电商等大数据平台使用了Solr,原因:1、它为平台提供搜索引擎服务,将传统的搜索从应用中剥离开来,大大减小了耦合度。2、提供更灵活的数据解析定义方式。
二、Solr是基于Lucene开放的,因此必须了解下Lucene,它提供了信息(索引结构、读写索引、排序)和数据(分词、解析和查询)。
三、Solr和Lucene两者的关系就好像SDK和对应的应用。Lucene拥有齐全的API,Solr在Lucene基础上封装出更适合企业级的搜索。
安装和启动Solr:
1)下载对应的Solr版本:http://archive.apache.org/dist/lucene/solr/
下载后解压
2)为以后更详细配置Solr的相关信息,在eclipse中新建web项目,复制【solr-5.5.3\server\solr-webapp\webapp】到对应的WebContent目录下,在WebContent同级目录下新建一个solrhome文件夹,复制solr-5.5.3下面的“contrib、dist文件夹”和”solr-5.5.3\server\solr下面文件“到solrhome文件夹下,同时创建testcore文件夹用于存新建的Core,复制【solr-5.5.3\server\solr\configsets\sample_techproducts_configs】下所有conf文件夹和【solr-5.5.3\example\example-DIH\solr\db\conf】下面的db-data-config.xml到testcore文件夹下。
项目文件结构如下:
修改testCore下面conf中的solrconfig.xml
将
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
修改成
<lib dir="${solr.install.dir:..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="${solr.install.dir:..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="${solr.install.dir:..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="${solr.install.dir:..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-velocity-\d.*\.jar" />
<!-- 添加 dataimporthandler注册依赖包-->
<lib dir="${solr.install.dir:..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-dataimporthandler-extras-\d.*\.jar" />
3)启动该项目:添加对应的testcore
4)修改db-data-config.xml内容
修改后:
<dataConfig>
<!-- <dataSource type="JdbcDataSource" jndiName="java:comp/env/jdbc/solrdb" /> -->
<!-- 配置Solr数据源 -->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/study"
user="root"
password="123" />
<document>
<entity name="SysUser" query="select * from sys_user"
deltaQuery="select id from sys_user where createdate > '${dataimporter.last_index_time}'">
<field column="id" name="id" />
<field column="username" name="username" />
<field column="createdate" name="createdate" />
</entity>
</document>
</dataConfig>
【提醒:记得添加对应的数据库jar包】
修改testcore的conf下面managed-schema文件
在
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
前
增加
<!-- 自定义内容 -->
<field name="createdate" type="date" indexed="true" stored="true"/>
<field name="username" type="text_general" indexed="true" stored="true"/>
5)重新启动项目即完成一个自定义solr项目搭建。
友情提示:本人提供相关IT技术开发和支持,与其相关技术交流。
如需请加微信号: