- 浏览: 624461 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 188Elasticsearch中mapping全解实战 深入学习 ... -
如何快速搭建一个简易的ELK日志分析系统
2022-03-22 23:56 180如何快速搭建一个简易的ELK日志分析系统 -
ElasticSearch-ik分词器
2022-03-12 20:11 224ElasticSearch-ik分词器 利用Kibana来 ... -
解决elasticsearch配置network.host: 0.0.0.0导致elasticsearch服务启动不成功的问题
2022-03-10 13:53 1507解决elasticsearch配置network.host: ... -
ElasticSearch中keyword的属性ignore_above详解
2022-02-14 19:54 561ignore_above 含义 在ElasticSearch中 ... -
elasticsearch的keyword与text的区别
2022-01-05 15:46 206elasticsearch的keyword与text的区别 ... -
java使用ElasticSearch的RestHighLevelClient集群配置
2016-08-16 14:23 628Elasticsearch Guide elasticsea ... -
solr下载地址
2016-08-16 09:41 368http://lucene.apache.org/solr/d ... -
Solr中的概念:分析器(analyzer)、字符过滤器(character filter)、分词器(Tokenizer)、词元过滤器(Token Filter
2016-08-15 09:53 1298文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同 ... -
solrCloud源码分析之CloudSolrClient
2016-08-12 08:36 995CloudSolrClient是solrj提供的客户端与sol ... -
solr常用查询语句如何写
2016-08-12 08:34 399工作中用到solr,就自己工作中常用查询,简单总结下solr查 ... -
Solr的学习使用之(七)Solr高级查询facet、facet.pivot简介
2016-08-12 08:36 13541 、什么是Faceted Search Facet['fæ ... -
Solr JAVA客户端SolrJ 4.9使用示例教程
2016-08-12 08:37 464简介 SolrJ是操作Solr的JAVA客户端,它提供了增加 ... -
solr主从复制的原理
2016-08-11 11:20 756master的工作 对于Replicati ... -
Solr相关知识点串讲
2016-08-11 10:14 567Solr是Apache Lucene的一个子项目。Lucene ... -
solrj 更新部分索引域的值
2016-08-11 09:33 3052solrj可以用关键字set对索引进行部分字段更新: Has ...
相关推荐
### Solr 3.5配置及应用知识点详解 #### 一、Solr简介 - **定义**:Apache Solr是一款高性能、开源的搜索服务器。它使用Java语言开发,并且主要基于HTTP协议和Apache Lucene技术实现。 - **数据模型**:在Solr中,...
总的来说,Solr 3.5的配置和应用涉及到多个层面,包括服务器的搭建、Solr核心组件的配置、分词器的集成以及Schema的定制。这些步骤对于实现一个高效、功能丰富的全文搜索引擎至关重要。通过熟练掌握这些知识,开发者...
总之,Solr 3.5 整合到 Tomcat 可以让你利用 Tomcat 的稳定性和灵活性来运行和管理 Solr 搜索服务,从而在 web 应用中实现高效的全文检索功能。通过理解 Solr 的配置和 Tomcat 的部署机制,你可以更好地定制和扩展你...
Solr 3.5 是一个老版本的Apache Solr,这是一个基于Java的全文搜索引擎服务器,广泛用于企业级的搜索应用。Tomcat则是一款流行的开源Java Servlet容器,常用来部署Java Web应用程序,包括Solr这样的服务。"solr 3.5 ...
对于中文搜索,Solr 3.5 可以与第三方分词器,如 IKAnalyzer 3.2.8 整合。这需要将 IKAnalyzer 的 JAR 文件放入 Solr 的 `lib` 目录,并在 `schema.xml` 文件中配置分词器。例如,添加一个名为 `text` 的 `fieldType...
本文将深入探讨 Solr 3.5 的配置及其在实际应用中的关键点。 首先,配置 Solr 3.5 包括以下几个主要步骤: 1. **环境搭建**:你需要先安装 Java Development Kit (JDK) 并设置好环境变量,因为 Solr 是基于 Java ...
### Solr 3.5与Tomcat的部署配置及与Java项目的集成 #### 一、Solr 3.5与Tomcat的部署配置 **1. 下载与安装Solr** 首先,需要从官方或其他可信任来源下载Apache Solr 3.5.0。根据描述中的链接(虽然不可用),...
Solr 3.5与Tomcat的整合是一个关键的步骤,尤其对于那些希望在Java应用服务器上部署Solr搜索引擎的企业。Solr是一个基于Apache Lucene的开源搜索平台,提供了高效、可扩展的全文检索、命中高亮、拼写检查、分类、 ...
Solr是一个独立的企业级应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的xml文件, 生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回...
### Solr 3.5 与 Tomcat 6 集成及自定义分词器配置详解 #### 一、Solr与Tomcat集成概述 Solr 是一个高性能、采用 Java 开发的企业级搜索服务器,它基于 Lucene 库提供了一个完整的全文检索框架。而 Tomcat 是一个...
通过以上步骤,我们已经完成了在Tomcat环境下搭建Solr 3.5及MMSEG4J中文分词器的基础配置工作。这些配置使得Solr能够更好地处理中文文档,并提供更准确的中文检索结果。此外,通过MMSEG4J提供的不同分词模式,可以...
在本教程中,我们将深入探讨Solr 3.5版本的开发应用,重点关注其实战应用,以帮助开发者更好地理解和利用这个强大的搜索引擎。 一、Solr概述 Solr的核心功能包括文本分析、索引构建、查询处理和结果排序。它支持...
Apache Solr是一个开源的企业级搜索平台,用于构建高效、可扩展的全文检索应用。这个名为"apache-solr-3.5.0.jar"的压缩包包含两个关键组件:`apache-solr-core-3.5.0.jar`和`apache-solr-solrj-3.5.0.jar`,它们...
Apache Solr 是一个高度可扩展、高性能的搜索和分析服务,广泛应用于企业的全文检索系统。它基于Java开发,是Apache软件基金会的一个顶级项目。Solr 3.5.0 版本是Solr的一个历史版本,它包含了丰富的特性和优化,以...
标签“全文索引”和“solr3.5”强调了EasyNet.Solr库的核心功能和所兼容的Solr版本。全文索引是Solr的一个关键特性,允许用户对文本数据进行快速且精确的搜索。而“solr3.5”表明该库是为Solr 3.5版本设计的,可能不...
**三、Solr的应用** 3.1 SOLR应用概述 介绍Solr的应用场景和使用流程。 3.2 一个简单的例子 包括Solr Schema设计、构建索引和搜索测试。 3.3 搜索引擎的规划设计 3.3.1 定义业务模型 3.3.2 定制索引服务 3.3.3 ...
首先,"eContact+V3.5(3.5.7.4Q1)Solr檢索附件需求分析書V1.0-ZhaoHaiming20100415.docx"文件可能是关于一个特定项目中Solr的检索附件需求分析,可能涵盖了如何利用Solr进行文档检索和管理的需求和设计思路。...