- 浏览: 595218 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
在solr 3.5 配置及应用(二)中在 Document文档和JavaBean相互转换时是比较麻烦的,现在讲用利用DocumentObjectBinder对象将SolrInputDocument 和 JavaBean对象相互转换。
1、在实体类(JavaBean),用@Field来注解字段,注解的名称要与文档的字段名称一致,如@Field("blogId")。如:blogsDO 这也有hibernate的注解要看清楚.
2、增加文档的方法(这方法就简单多了)
3、查询文档
参考:http://blog.csdn.net/chunming8302/article/details/7321501
solr 视频:http://www.icoolxue.com/play/2293
1、在实体类(JavaBean),用@Field来注解字段,注解的名称要与文档的字段名称一致,如@Field("blogId")。如:blogsDO 这也有hibernate的注解要看清楚.
package com.stu.entity; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import org.apache.solr.client.solrj.beans.Field; import com.stu.commons.util.DateUtils; /** * Description: * @author LiChunming * @version V1.0 * @createDateTime:2011-5-17 下午04:38:11 * @Company: MSD. * @Copyright: Copyright (c) 2011 **/ @Entity @Table(name="blogs") public class BlogsDO implements Serializable{ /** * */ private static final long serialVersionUID = -4721368786493126226L; private String id; @Field("blogId") private Integer blogsId; @Field private String title; @Field private String content; //与文档的字段名称是createTime 不一样时要注明,保持一样 @Field("createTime") private Date gmtCreate; @Field private String nickName; @Field private String bTypeId; @Field private String bTypeName; private Date gmtModified; private String revDate; private String sDate=""; private String eDate=""; @Transient //(hibernate 的注解) @Field //在这注解也可以 public String getId() { return id; } public void setId(String id) { this.id = id; } //(hibernate 的注解) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Integer getBlogsId() { return blogsId; } public void setBlogsId(Integer blogsId) { this.blogsId = blogsId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public String getbTypeId() { return bTypeId; } public void setbTypeId(String bTypeId) { this.bTypeId = bTypeId; } @Column(name="gmt_create") public Date getGmtCreate() { return gmtCreate; } public void setGmtCreate(Date gmtCreate) { this.gmtCreate = gmtCreate; } @Column(name="gmt_modified") public Date getGmtModified() { return gmtModified; } public void setGmtModified(Date gmtModified) { this.gmtModified = gmtModified; } @Transient public String getRevDate() { if (this.gmtCreate == null) { return null; } return DateUtils.formatDate(gmtCreate, "yyyy-MM-dd HH:mm:ss"); } public void setRevDate(String revDate) { this.revDate = revDate; } @Transient public String getbTypeName() { return bTypeName; } public void setbTypeName(String bTypeName) { this.bTypeName = bTypeName; } @Transient public String getsDate() { return sDate; } public void setsDate(String sDate) { this.sDate = sDate; } @Transient public String geteDate() { return eDate; } public void seteDate(String eDate) { this.eDate = eDate; } @Override public String toString() { return this.id + "#" + this.blogsId + "#" + this.title + "#" + this.content + "#" + this.bTypeId + "#" + this.bTypeName + "#" + this.nickName+"#" + this.gmtCreate; } }
2、增加文档的方法(这方法就简单多了)
public void writerBlog(BlogsDO blog) { // TODO Auto-generated method stub try { blog.setId(SerialNumberUtil.getRandomNum(4)); //获取连接服务 CommonsHttpSolrServer solrServer= SolrServer.getInstance().getServer(); //实例化 DocumentObjectBinder binder = new DocumentObjectBinder(); //javabean对象转化为SolrInputDocument对象 SolrInputDocument doc1 = binder.toSolrInputDocument(blog); solrServer.add(doc1); //提交事务才能生效 solrServer.commit(); } catch (SolrServerException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
3、查询文档
public List<BlogsDO> searchBlogsListbyBinder( Page page) throws IOException, ParseException { List<BlogsDO> blogList=new ArrayList<BlogsDO>(); CommonsHttpSolrServer solrServer= SolrServer.getInstance().getServer(); SolrQuery sQuery = new SolrQuery(); String para="*:*"; sQuery.setQuery(para); try { QueryResponse response=solrServer.query(sQuery); //获取查询文档 SolrDocumentList list = response.getResults(); //初始化DocumentObjectBinder对象 DocumentObjectBinder binder = new DocumentObjectBinder(); //SolrDocumentList对象转化为 List<BlogsDO>对象 blogList=binder.getBeans(BlogsDO.class, list); //总记录数 Integer counts=(int) list.getNumFound(); page.setCounts(counts); } catch (SolrServerException e) { // TODO Auto-generated catch block e.printStackTrace(); } return blogList; }
参考:http://blog.csdn.net/chunming8302/article/details/7321501
solr 视频:http://www.icoolxue.com/play/2293
发表评论
-
Elasticsearch中mapping全解实战
2022-03-23 10:01 166Elasticsearch中mapping全解实战 深入学习 ... -
如何快速搭建一个简易的ELK日志分析系统
2022-03-22 23:56 154如何快速搭建一个简易的ELK日志分析系统 -
ElasticSearch-ik分词器
2022-03-12 20:11 205ElasticSearch-ik分词器 利用Kibana来 ... -
解决elasticsearch配置network.host: 0.0.0.0导致elasticsearch服务启动不成功的问题
2022-03-10 13:53 1364解决elasticsearch配置network.host: ... -
ElasticSearch中keyword的属性ignore_above详解
2022-02-14 19:54 494ignore_above 含义 在ElasticSearch中 ... -
elasticsearch的keyword与text的区别
2022-01-05 15:46 168elasticsearch的keyword与text的区别 ... -
java使用ElasticSearch的RestHighLevelClient集群配置
2016-08-16 14:23 574Elasticsearch Guide elasticsea ... -
solr下载地址
2016-08-16 09:41 351http://lucene.apache.org/solr/d ... -
Solr中的概念:分析器(analyzer)、字符过滤器(character filter)、分词器(Tokenizer)、词元过滤器(Token Filter
2016-08-15 09:53 1268文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同 ... -
solrCloud源码分析之CloudSolrClient
2016-08-12 08:36 955CloudSolrClient是solrj提供的客户端与sol ... -
solr常用查询语句如何写
2016-08-12 08:34 399工作中用到solr,就自己工作中常用查询,简单总结下solr查 ... -
Solr的学习使用之(七)Solr高级查询facet、facet.pivot简介
2016-08-12 08:36 12781 、什么是Faceted Search Facet['fæ ... -
Solr JAVA客户端SolrJ 4.9使用示例教程
2016-08-12 08:37 440简介 SolrJ是操作Solr的JAVA客户端,它提供了增加 ... -
solr主从复制的原理
2016-08-11 11:20 736master的工作 对于Replicati ... -
Solr相关知识点串讲
2016-08-11 10:14 544Solr是Apache Lucene的一个子项目。Lucene ... -
solrj 更新部分索引域的值
2016-08-11 09:33 3052solrj可以用关键字set对索引进行部分字段更新: Has ...
相关推荐
solr3.5配置及应用[借鉴].pdf
初学者学习solr时,可以借助此文档入门,学习solr
solr_3.5_配置及应用
基于Solr3.5的最新开发应用指导,文字加代码说明模式(Schedule.xml)、配置(solrconfig.xml)、索引,搜索等详细开发内容。
Solr是一个独立的企业级应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的xml文件, 生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回...
2 Solr的安装与配置 13 2.1 在Tomcat下Solr安装 13 2.1.1 安装准备 13 2.1.2 安装过程 14 2.1.3 验证安装 15 2.2 中文分词配置 15 2.2.1 mmseg4j 15 2.2.2 paoding 19 2.3 多核(MultiCore)配置 22 2.3.1 MultiCore...
4.2.3 容量评估及应用水位 252 4.3 流量控制 255 4.3.1 流量控制实施 255 4.3.2 服务稳定性 260 4.3.3 高并发系统设计 265 4.4 性能优化 277 4.4.1 如何寻找性能瓶颈 277 4.4.2 性能测试工具 285 ...
近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。电子商务正在与实体经济深度融合,进入规模性...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...