window下SOLR安装详解。
来源:互联网 发布:网络电视套餐 编辑:程序博客网 时间:2024/06/07 03:40
1.Solr的安装步骤详解。
1.1 安装前准备工作。
- tomcat 7.0.53
- solr 4.0.26
- window7系统
- 分词器用的IKAnalyzer
安装步骤:
第一步:安装tomcat。如果解压缩版只需要解压即可。
第二步:解压缩solr的包。
重要的文件夹:dist、example
第三步:把dist\solr-4.10.3.war复制到tomcat的webapp目录下。改名为solr.war,改名不是必须的,为了方便访问。
第四步:解压war包。启动tomcat自动解压。解压完成后关闭tomcat。
第五步:需要把example\lib\ext\目录下所有的jar包添加到solr项目中。
第六步:需要创建一个solrhome(solr所有配置文件存放的目录)solr-4.10.3\example\solr文件夹就是一个标准的solrhome可以直接使用。把solr文件复制到D:\temp\1121目录下,改名为solrhome。改名不是必须,为了便于理解。
1、Solrhome下的collection1文件夹就是一个solrcore,一个solrcore就是一个独立的索引库。一个solr可以有多个solrcore。
2、collection1\conf下有一堆配置文件,就是对solrcore的配置。有两个重要的配置文件:
a) Schema.xml
b) Solrconfig.xml
3、Solrconfig.xml
a) luceneMatchVersion:匹配Lucene的版本
b) Lib就是solrcore的扩展jar包的位置。默认是collection1\lib文件夹。如果添加扩展jar包,没有lib就需要创建一个文件夹。
c) dataDir:索引库存放路径。默认是collection1\data文件夹。如果没有会自动创建。
d) requestHandler
可以使用默认配置,不需要修改配置。
第七步:告诉solr工程solrhome的位置。需要修改solr的web.xml文件。
第八步:启动tomcat
访问http://localhost:8080/solr/
安装成功访问会显示如下页面:
solr到此安装完毕。下面我们需要安装solr在项目中常用的插件.
2.数据导入(dataImport)插件安装(在项目中用来导入数据生成索引库使用的。)
2.1.首先在example中找到数据导入的两个jar包导入和数据库驱动的jar包。
注意:不要忘记导入数据库的jar包。
2.2在solrconfig中配置数据导入的插件。
2.3.data-config.xml中的内容,主要是用来连接数据库的。
dataImport插件安装完成。。
3.document的维护操作。
3.1索引库的增删改操作都使用此功能完成。
3.2.query功能
查询索引库功能。
其它的更新,删除操作都类似。
4. 索引库的维护
4.1添加文档
1、文档中必须有id域。
2、文档中使用的域的名称必须在schema.xml中定义。
4.2 Schema.xml
1、field:域的定义。在solr中域的名称必须先定义后使用。
a) Type:域的数据类型
b) Indexed:是否索引
c) Stored:是否存储
d) multiValued:是否多值
2、dynamicField动态域
只要域的名称能和动态域的名称向匹配就能使用。
3、uniqueKey。相当于mysql表中的主键。值必须唯一,并且id域必须存在。
4、copyField复制域
Source:源域
Dest:目标域
功能就是把源域的内容复制到目标域。
5、fieldType数据类型,域的类型定义。
a) Name:数据类型的名称
b) Class:对应数据类型实际的class
c) 如果想自定义分析器需要使用solr.TextField
5.配置自定义的数据类型
第一步:配置中文分析器
1、把IK分析器的jar包添加到solr的工程中。
2、
3、
4、需要把分析器的配置文件扩展词典放到solr工程的classpath下。Solr/WEB-INF/classes目录下。
第二步:在schema.xml中添加域类型的定义
第三步:重启tomcat
在schema.xml中添加如下配置。。。
6.1自定义域
添加商品表对应的域。一个字段对应一域。
搜索需要使用的域:商品名称、商品描述
过滤条件:商品分类名称、商品价格
展示图片:商品图片
添加文档,必须有id域,用到的域必须在schema.xml中定义。Id是不能重复的。
6.2删除文档
1.1.1 根据id删除文档
不要忘记提交。
1.1.2 根据查询删除
id:a002
如果查询条件是:就是删除全部文档。
1.2 修改文档
没有修改方法。只需要添加以新的文档,id和被修改的文档id一致即可。
原理:先删除后添加。
- 查询索引库
7.1简介查询
步骤:
1、创建一个SolrServer对象
2、创建一个查询对象SolrQuery对象。
3、指定SolrQuery对象的查询条件、过滤条件等。
4、执行查询。返回一查询结果。
5、取查询结果并打印。
//查询索引库
@Test
public void queryIndex() throws Exception {
SolrServer solrServer = new HttpSolrServer(“http://localhost:8080/solr“);
//创建一查询对象
SolrQuery query = new SolrQuery();
//指定查询条件
//query.setQuery(“:“);
query.set(“q”, “:“);
//执行查询
QueryResponse queryResponse = solrServer.query(query);
SolrDocumentList solrDocumentList = queryResponse.getResults();
//取查询结果总数量
System.out.println(“查询结果总数量:” + solrDocumentList.getNumFound());
System.out.println(“当前结果集中的记录数:” + solrDocumentList.size());
//遍历结果集
for (SolrDocument solrDocument : solrDocumentList) {
//取属性并打印
System.out.println(solrDocument.get(“id”));
System.out.println(solrDocument.get(“product_name”));
System.out.println(solrDocument.get(“product_price”));
System.out.println(solrDocument.get(“product_picture”));
System.out.println(solrDocument.get(“product_catalog_name”));
}
}
7.2复杂的查询
//复杂查询
@Test
public void searchIndex() throws Exception {
SolrServer solrServer = new HttpSolrServer(“http://localhost:8080/solr“);
//创建一查询对象
SolrQuery query = new SolrQuery();
//设置查询条件
query.setQuery(“家天下”);
//设置过滤条件
query.addFilterQuery(“product_catalog_name:幽默杂货”, “product_price:[0 TO 50]”);
//设置排序条件
query.setSort(“product_price”, ORDER.asc);
//分页条件
query.setStart(0);
query.setRows(20);
//返回结果中包含的域
query.setFields(“id”,”product_name”,”product_price”);
//设置默认搜索域
query.set(“df”, “product_keywords”);
//开启高亮
query.setHighlight(true);
//设置高亮显示的域
query.addHighlightField(“product_name”);
//高亮前缀
query.setHighlightSimplePre(““);
//高亮后缀
query.setHighlightSimplePost(““);
//执行查询
QueryResponse response = solrServer.query(query);
//取查询结果
SolrDocumentList documentList = response.getResults();
//取返回结果总数量
System.out.println(“查询结果总数量:” + documentList.getNumFound());
//取结果列表
for (SolrDocument solrDocument : documentList) {
//取属性并打印
System.out.println(solrDocument.get(“id”));
//取高亮显示
Map
- window下SOLR安装详解。
- window下Solr的安装部署
- window下安装solr到tomcat中
- window下部署Solr
- window下部署Solr
- window下部署Solr
- 在window 下安装Memcache详解
- solr安装及详解
- windows下安装solr
- ubuntu下安装solr
- linux 下安装solr
- windows下Solr安装
- window下zookeeper+tomcat+solr搭建solrCloud
- 环境搭建之window下solr配置
- Linux下安装使用Solr
- windows下使用solr--安装
- tomcat7下安装solr 4.3
- ubuntu下安装solr(总结)
- SqlServer 转mysql
- 多线程中数据的并发访问与保护
- iOS开发之AFN
- 动态规划算法求lcs(最长公共子串)之Java代码实现
- alt 属性-可访问性
- window下SOLR安装详解。
- WordPress 全方位优化指南(下)
- php 图片上传
- leetcode:14 Longest Common Prefix-每日编程第四十二题
- 20个命令行系统监视工具
- MemoryCache和DiskCache在ListView和GridView中加载图片的总结(-)
- cocos2d-x3.4 交叉编译出现问题总结
- 【Android 总结】缩写
- PNG转GIF出现白色毛边解决方法