solr 安装,配置,测试
来源:互联网 发布:网络贷款信息会泄露吗 编辑:程序博客网 时间:2024/05/26 08:42
why
为什么是solr或者elasticsearch,而不是lucene?lucene只是一个组件,如果要在上面开发成本太大,solr和elasticsearch都是基于lucene的成熟的应用,可以快速上手。
solr是用来做全文检索的企业级应用。
安装
solr 官网下载地址, 这里笔者选用的版本是4.10.4
环境要求,需要jdk/openjdk 1.8或者1.7u55以上
sold整合tomcat , 这里笔者选用的tomcat版本为6.0.43
web.xml
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/local/solr-4.10.4/example/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>OK, 启动tomcat后,输入地址http://ip:port/solr/会出现solr的管理员页面
我们选用默认的core,这里core相当于一个数据集合
这里是一个overview的界面,左侧Analysis用来对词进行分析,Documents提供各种格式的数据导入,Query用来做查询,Files可以查看配置文件,schema brower可以查看schema.xml中字段,和字段类型的细节。
Documents
以json为例,我们导入一些Document,json api参考
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;public class RequestSender {public static void main(String[] args) throws Exception {add ();}public static void add() {for (int i = 10; i < 15; i++) {String url = "http://ip:port/solr/collection1/update?wt=json";String data = "{\"add\":{ \"doc\":{\"id\":\"" + i + "\",\"title\":\"会吗abcd日本\",\"name\":\"是一个非常可爱的家伙\"},\"boost\":1.0,\"overwrite\":true,\"commitWithin\":1000}}";doPost(url, data);}}public static void delete() {String url = "http://ip:port/solr/collection1/update?wt=json";String data = "{\"delete\":{\"query\":\"*:*\"}";doPost(url, data);}}
然后,我们在Query里面查询一下
IK中文分词和同义词配置
中文分词配置
IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典--> <entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic;</entry> </properties>schema.xml
<!--IKAnalyzer--> <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="false"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="true"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>配置了两个字段
<field name="name" type="text_ik" indexed="true" stored="true"/>
<field name="title" type="text_ik" indexed="true" stored="true" multiValued="true"/>好了如果这样配置,重启tomcat后,页面会直接报异常,因为IKAnalyzerSolrFactory是自定义实现的,solr并不能同时支持ik中文分词和同义词,这里使用的jar包地址:
同义词配置
测试
OK,让我们测试一下中文分词,首先我们可以用Analysis测试一下
然后用Query查询一下结果
这里我们勾选了debugQuery,可以看到分词细节
可以看到,我们的中文分词,同义词有效果了
参考
solr 下载地址 http://archive.apache.org/dist/lucene/solr/
solr 安装要求 http://lucene.apache.org/solr/5_3_1/SYSTEM_REQUIREMENTS.html
solr整合 tomcat http://blog.csdn.net/seven_zhao/article/details/42743681
solr json 操作 http://wiki.apache.org/solr/UpdateJSON
solr 中文分词配置 http://blog.csdn.net/tjcyjd/article/details/43453007
solr ik和同义词整合 http://blog.csdn.net/tjcyjd/article/details/43699525
solr 性能测试 http://www.tuicool.com/articles/eQ3Qz2
solrj api http://lucene.apache.org/solr/4_2_1/solr-solrj/org/apache/solr/client/solrj/SolrQuery.html
- solr 安装,配置,测试
- solr开--solr配置安装
- Solr的安装配置
- Solr 安装配置使用
- solr安装与配置
- Solr安装与配置
- Solr安装与配置
- Linux -- Solr 安装/配置
- SOLR安装简单配置
- solr安装与配置
- Solr安装配置
- Solr 安装及配置
- solr安装和配置
- Solr linux安装配置
- solr安装配置
- solr 安装与配置
- Solr安装配置
- Solr的安装配置
- python解压函数extractall在windows上报错FileNotFoundError [Errno 2] No such file or directory
- linux下mysql命令大全
- IOS Objective c 异步链接 网上下载内容到本地及SBjson解析
- Linux 部署tomcat-实战操作
- JAVA--线程
- solr 安装,配置,测试
- sql之left join、right join、inner join的区别
- Oracle 12c安装步骤及使用问题总结:
- 自定义控件(18)---自定义控件之面板思想---addRule
- 关于NSString的练习题
- python 学习笔记4
- kettle4.4在eclipse中运行调试
- VC和MATLAB混合开发经验总结
- 野人学Android第二弹——Handler与Thread之间的关系