solr的原理、用途、简介啥的我就不说了,其他博客已经写了很多。这里ImportNew有个solr系列的文章很好,安利一波-->##点我点我##。
很多初学者碰到的第一个头痛的问题,肯定是怎么成功安装并能使用。这里先跟大家介绍一下再win下怎么安装solr搜索引擎。
1、下载solr
到apache的solr官网下载即可,附上链接-->#想下载就点我#
2、安装
win的安装很简单,解压即可。
3、启动
由于solr自带jetty容器,如果不想结合tomcat,解压后直接启动就可以。
为避免路径混淆,我们把solr解压之后的路径成为{SOLR_PATH_HOME}
win打开cmd控制台,路径进入SOLR_PATH_HOME/bin。输入命令:solr start即可启动,默认的打开端口是8983,然后浏览器通过localhost:8983即可检测是否启动成功。如图:
这里就可以进入admin的管理界面。
是不是觉得炒鸡简单。但,这只是能跑起来,我们还需要使用它来搜索documents,而且这些document通常是我们自定义的结构。比如你想用它来实现图书馆的图书搜索,那每一本书的信息就是一个document。书的信息肯定得包括书名、作者、库存、ISBN、简介等等。而且每一本的信息需要你去上传到搜索引擎中,所以没有一点配置怎么说得过去。
4、配置solrHome
solrHome的概念这里就不展开了。简单来说他就是存具体document和索引的地方。
编辑SOLR_PATH_HOME\server\solr-webapp\webapp\WEB-INF\web.xml文件。说明solrHome的路径,如下。
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>{SOLR_PATH_HOME}\server\solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
默认这个地方是被注释的。
5、创建core
一个solr可以支持建立多个库,比如你想搜索书籍,也行搜索手表。这时候可以新建两个core。
在SOLR_PATH_HOME\server\solr下新建文件夹,例如mycore1。
将SOLR_PATH_HOME\server\solr\configsets\_default\conf 整个文件夹拷贝一份到mycore1下,并在mycore1下新建文件件data。
到admin管理页面,增加core。如下图:
在这里配置基本的路径信息。
6、在schema.xml中定义字段
document的结构需要自己在schema中定义。
<field name="bookinfo.author" type="text_en_splitting" indexed="true" stored="true"/>
<field name="bookinfo.book_isbn" type="string" indexed="true" stored="true"/>
<field name="bookinfo.book_name" type="string" indexed="true" stored="true"/>
<field name="bookinfo.intro" type="text_en" indexed="true" stored="true"/>
<field name="bookinfo.press" type="text_en" indexed="true" stored="true"/>
这里推荐一篇别人的好blog
#点我#
另外,在管理页面也是可以添加Field/Dynamic Field/Copy Field。
7、添加文档到solr
在schema声明好我们的文档结构之后,就可以post文档到搜索引擎了(类似于数据库的insert)。先按照我们定义的结构构建一个测试document:
<add>
<doc>
<field name="id">9787115283993_1</field>
<field name="bookinfo.book_name">Node.js开发指南</field>
<field name="bookinfo.book_isbn">9787115283993</field>
<field name="bookinfo.author">郭家寶(BYVoid)</field>
<field name="bookinfo.press">人民邮电出版社</field>
</doc>
</add>
这里也推荐一遍好blog
#点我#
post文档有很多种方式,例如:
1)使用SOLR_PATH_HOME\bin\post
2)使用管理页面post
8、查询
使用管理界面可以轻松实现搜索查询
q为搜索某个Field关键字。
9、总结
至此,可以在win上使用solr了。但是往往我们生产环境服务器都是部署在linux上,而提交document、查询搜索、更新等系列操作都是在程序中完成。所以本篇文章仅仅只是展示一下solr的基本用法。实际生产环境下篇文章再做详细介绍。