solr练习

环境  Linux    tomcat7    solr

上linux解压IK  和 solr 新建文件夹保存

1第一步复制jar  solor>example > ext 下的所有的jar拷贝至tomcat的lib下

2将solr.war拷贝至tomcat的webapps下注意解压   war解压不会保留目录一定要先创建一个文件夹 mkdir   solr。 然后将其解压至该文件夹中解压war使用unzip命令  然后删除其war包  不删除tomcat的运行将其解压会替换

3进入tomcat的solr解压下面然后

注意去掉注释  让其找到solr的家一定要注意路径,楼主不是用的root是普通权限

IK分词器、

将ik包解压到一个文件夹中

1

2

2步

完成第二步可以启动Tomcat   http://linuxIp:8081/solr/#/

就看看这文件>,<

移动区至solr家里的conf目录找到配置文件

==========================================

<!-- 自定义数据类型 支持IKAnalyzer-->

<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>

<field name="name_ik" type="text_ik" indexed="true" stored="true"/>

==================================================

扩展词

打开注释

2创建文件ext.dic

编辑

停止词

不能全部在一行 ,只能一行一个词

效果明显和上面不一样了,,,,

Ubuntu上时刻要记住权限的问题   害我找了好久,用root权限启动就OK了

 

http://blog.csdn.net/u013022826/article/details/58198993

使用Spring插入数据

SolrInputDocument doc = new SolrInputDocument();

doc.setField("id", s);

doc.setField("name_ik", ption.getPtname());

float sourceF = Float.valueOf(ption.getMoney());

doc.setField("price", sourceF);

doc.setField("description",ption.getIntroduce());

doc.setField("brandId",ption.getPttype());

solrserver.add(doc);

solrserver.commit();

ptservice.addPt(ption);

从solr服务器拿数据展示  Spring

public List<Position> selectPositionListFormDolr(String keyWord){

List<Position> position =new ArrayList<Position>();

SolrQuery solrQuery =new SolrQuery();

StringBuilder params=new StringBuilder();

params.append("keyWord=").append(keyWord);

solrQuery.set("q", "name_ik:"+keyWord);

solrQuery.setStart(0);

solrQuery.setRows(20);

solrQuery.addSort("price", ORDER.asc);//排序

solrQuery.setHighlight(true);//开启高亮

solrQuery.addHighlightField("name_ik");//设置高亮字段

solrQuery.setHighlightSimplePre("<span style=‘color:red‘>");

solrQuery.setHighlightSimplePost("</span>");

try {

QueryResponse resp =  solrServer.query(solrQuery);

//去高亮

Map<String, Map<String, List<String>>> highlighting = resp.getHighlighting();

SolrDocumentList results = resp.getResults();

System.out.println(results.size());

for(int i=0;i<results.size();i++){

Position positionObj =new Position();

String Id = (String) results.get(i).get("id");

//String name = (String) results.get(i).get("name_ik");从高亮容器中去名称

String description = (String) results.get(i).get("description");

String brandid = (String) results.get(i).get("brandId");

Object object = results.get(i).get("price");

positionObj.setMoney(object.toString());

positionObj.setPttype(brandid);

positionObj.setIntroduce(description);

Map<String, List<String>> map = highlighting.get(Id);//第二个Map

List<String> list = map.get("name_ik");//设置关键字

positionObj.setPtname(list.get(0));

positionObj.setPtid(Id);

position.add(positionObj);

}

results.getNumFound();

} catch (SolrServerException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return position;

}

 

好啦几天的solr练习全部奉上。。。。如果那里不是很清楚就多百度百度吧>><<

时间: 2024-11-18 09:47:06

solr练习的相关文章

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

linux集群下 solr集群搭建

首先介绍一下系统架构: * 这个图中代表的是三个solr实例,每个实例包括两个core,组成一个solrcloud * 索引集合包括两个 shard(shard1和shard2),shard1和shard2分别由三个core组成,其中一个L eader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个core的索引数据一致,解决高可用和高并发问题. * Collection在solrcloud集群中是一个索引结构,被划分为一个或多个

Elasticsearch VS Solr

最近公司用到了ES搜索引擎,调研发现大公司常用的搜索引擎还有Solr. 鉴于 Lucene 强大的特性和稳定性,有很多种基于 Lucene 封装的企业级搜索平台.其中最流行有两个:Apache Solr 和 Elastic search. Apache Solr:它本身是 Apache Lucene 项目下的开源企业搜索平台,算是 Lucene 的直系.美团.阿里搜索服务是基于 Solr 来搭建的. Elastic Search:简称 ES,由 Elastic 公司开发.Elastic 成立于

Solrcloud(Solr集群)

Solrcloud(Solr集群) Solrcloud介绍: SolrCloud(solr集群)是Solr提供的分布式搜索方案. 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud. 当索引量很大,搜索请求并发很高时,同样需要使用SolrCloud来满足这些需求. 不过当一个系统的索引数据量少的时候是没有必要使用SolrCloud的. SolrCloud是基于Solr和Zookeeper的分布式搜索方案.它的主要思想是使用Zookeeper作为SolrCloud集群的配置信息中心

Solr

Solr Solr它是一款非常优秀的全文搜索引擎,它是一种开放源码的.基于Lucene的企业级搜索应用服务器.它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果. 官方网址:http://lucene.apache.org/solr/ 官方文档:http://lucene.apache.org/solr/resources.html#documen

solr初认识

Solr : Search On Lucene Replication Solr 基本概况 Apache Solr (读音: SOLer) 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.Apache Solr 中存储的资源是以 Document 为对象进行存储的.每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性.Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的

solr笔记

1.solrclound启动 solr start -c -z server200:2181,server201:2181 2.上传文件 2.1先创建路径后上传文件 zkcli.sh -zkhost server200:2181,server201:2181 -cmd makepath /xxx zkcli.sh -zkhost server200:2181,server201:2181 -cmd putfile zkpath localpath 3.删除文件 zkcli.sh -zkhost 

solr.net的使用

solr.net的使用 引子 最近在做一个日志系统,用普通关系型数据库做数据查询遇到了查询的瓶颈,想到了用成熟的搜索应用服务,我所知道的比较成熟的搜索应用服务有solr和es(elasticsearch),由于时间比较仓促,最后选择了比较熟悉的solr. 简介SOLR Solr是一个高性能,采用Java5开发,Solr基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一

玩转大数据系列之Apache Pig如何与Apache Solr集成(二)

散仙,在上篇文章中介绍了,如何使用Apache Pig与Lucene集成,还不知道的道友们,可以先看下上篇,熟悉下具体的流程. 在与Lucene集成过程中,我们发现最终还要把生成的Lucene索引,拷贝至本地磁盘,才能提供检索服务,这样以来,比较繁琐,而且有以下几个缺点: (一)在生成索引以及最终能提供正常的服务之前,索引经过多次落地操作,这无疑会给磁盘和网络IO,带来巨大影响 (二)Lucene的Field的配置与其UDF函数的代码耦合性过强,而且提供的配置也比较简单,不太容易满足,灵活多变的