Solr学习—入门
来源:互联网 发布:阿里云系统机顶盒刷机 编辑:程序博客网 时间:2024/05/18 18:45
百度上对Solr的介绍:
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
Solr安装
我将在Windows下,完成对Solr的安装,假设您已经下载了Solr并且解压完成。
1.将solr部署到tomcat中。将/example/webapps下的solr.war解压到tomcat中webapps目录下。
2.复制jar包。将/example/lib/ext下面所有的jar加入到tomcat中webapps\solr\WEB-INF\lib下。
3.复制exampl/solr文件夹到其他目录,并且修改webapps\solr\WEB-INF\中的web.xml文件。为了方便我直接将其复制到C盘根目录下
修改web.xml文件。
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>C:solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type></env-entry>
4.此时solr已经安装好了,开启你的tomcat,在浏览器中输入localhost:8080/solr即可。
Solr使用
1.如果要实现中文搜索,我们必须加入额外的中文分词器,这里我使用了IK Analyzer。打开解压文件,
将.jar包添加到tomcat\webapps\solr\WEB-INF\lib中。
并且将IKAnalyzer.cfg.xml和stopword.dic加入solr\WEB-INF\classes中。
2.配置Schema.xml,将上面配置的中文分词器加入solr中的,找到fieldType,加入IKAnalyzer。
Schema.xml文件位置:
<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType>
接着加入索引字段item_title。
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
3.在Java中我们可以借助SolrJ来使用Solr。
- 插入数据到Solr
@Test public void testSolrJ() throws SolrServerException, IOException{ //创建一个到solr的连接 SolrServer server = new HttpSolrServer("http://localhost:8080/solr"); //创建一个文档对象,可以理解为数据库的一条记录 SolrInputDocument document = new SolrInputDocument(); //添加域,可以理解为为记录中各个字段设置值 document.addField("id", "测试一下"); document.addField("item_title", "测试field"); //提交到索引库 server.add(document); server.commit(); }
此时打开我们的Solr,执行搜索id:测试一下,看到记录确实插入了Solr中。
- 查询数据:
@Test public void testQuery() throws SolrServerException{ SolrServer server = new HttpSolrServer("http://localhost:8080/solr"); //创建一个搜索对象 SolrQuery query = new SolrQuery(); query.setQuery("id:测试一下"); //执行搜索 QueryResponse result = server.query(query); for (SolrDocument solrDocument : result.getResults()) { System.out.println("id:"+solrDocument.get("id")); System.out.println("item_title:"+solrDocument.get("item_title")); } }
结果如下,说明我们成功查询倒了数据。
总结
以上内容只适合第一次接触Solr的同学,讲的比较简单,只是为了介绍如何使用Solr。还有很多内容,如schema.xml文件中各个节点的具体含义,SolrQuery的其他属性如何设置,如何将Solr与Spring和ORM框架整合等等会在之后带来介绍。
- Solr学习—入门
- Solr入门学习
- solr入门学习地址
- solr学习笔记-入门
- solr入门学习
- 我的solr入门学习
- solr 入门与学习笔记
- solr学习(5.2)-solrj入门
- solr入门学习(一)——基础篇
- Solr学习总结(1)——Apache Solr快速入门
- solr学习入门---积分商城基于Solr的搜索引擎优化
- solr学习笔记(一):入门
- Solr开发文档 以及入门学习
- Solr学习之—:solr facet
- solr入门
- Solr入门
- solr入门
- solr入门
- Practical ELK Stack.pdf 英文原版 免费下载
- redhat 的telnet服务开启操作
- poj 1466 Girls and Boys
- 目标跟踪相关资源
- Codeforces-739B:Igor and his way to work(BFS+优化)
- Solr学习—入门
- Kubernetes Management Design Patterns.pdf 英文原版 免费下载
- icon-font图标介绍
- HTTP协议详解
- vs2017设置注释模板
- 无需后台接入?带你玩转VasSonic 2.0里的Local Server
- linux系统修改系统时间与时区
- Educational Codeforces Round 32:E. Maximum Subsequence(Meet-in-the-middle)
- 二叉数的先序,中序,后序求高度的递归算法!