使用spring-data-solr做solr客户端
solr的客户端基本上只有一个,那就是solrj,spring-data-solr是在solrj的基础上做的封装,使统一成spring-data的风格
官方网站:
http://projects.spring.io/spring-data-solr/
使用spring-data最简单的方式就是使用spring-boot,注意多个spring-data之间不能公用,由于之前我们同样使用了spring-data-jpa 做orm,
这里要新创建一个项目进行使用spring-data-solr作为solr服务器的客户端,然后通过分布式进行协同使用。
首先搭建spring-boot项目,具体参考另外一遍博客。
添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency>
由于spring-boot是集中性的配置,所以在application.properties文件中添加以下配置:
# SOLR (SolrProperties)
spring.data.solr.host=http://localhost:8983/solr/mark
#spring.data.solr.zkHost=
spring.data.solr.repositories.enabled=true
这样就算是配置完成了
使用spring-data-solr与使用spring-data-jpa几乎一毛一样:
public interface MarkSolrRepository extends SolrCrudRepository<SearchMark, String> {
@Query("value:?0")
List<SearchMark> findAllByValue(String markey, Pageable pageable);
}
不过有一些区别:
1.@Query中的是solr的语法,并且参数计数是从0开始的(spring-data-jpa是从1开始的)
2.每个映射的实体类必须有@ID主键
@Entity
public class SearchMark implements Serializable { private static final long serialVersionUID = 1229830543809682342L;
@org.springframework.data.annotation.Id
private String id;// 唯一主键 @Field()
private String value;// 标签的值 @Field()
private int type;// 类型 @Field("datam_id")
private int datamId;// 数据id @Field("create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08")
private Date createTime;// 创建时间
注意@id是@org.springframework.data.annotation.Id
其他用法参考:
http://projects.spring.io/spring-data-solr/
http://docs.spring.io/spring-data/solr/docs/1.0.0.RC1/reference/html/
http://www.petrikainulainen.net/programming/solr/spring-data-solr-tutorial-crud-almost/?utm_source=tuicool&utm_medium=referral
使用spring-data-solr做solr客户端的更多相关文章
- Spring Data JPA整合REST客户端Feign时: 分页查询的反序列化报错的问题
Type definition error: [simple type, class org.springframework.data.domain.Page]; nested exception i ...
- 初探 spring data(一)--- spring data 概述
由于自己一个项目要用多到Sql与NoSql两种截然不同的数据结构,但在编程上我希望统一接口API,让不同类型的数据库能在相同的编程接口模式下运作.于是找了一个spring的官网,发现一个spring ...
- Spring Data(一)概念和仓库的定义
Spring Data(一)概念和仓库的定义 Spring Data的主要任务是为数据访问提供一个相似的.一致的.基于Spring的编程模型,同时又保留着下面各个数据存储的特征.它使得使用数据访问技术 ...
- 两行代码玩转Spring Data排序和分页
一:唠嗑 在实际项目中对Spring Data的各种使用相当多,简单的增删改查Spring Data提供了现成的方法,一些复杂的,我们可以在接口方法写And,Not等关键字来搞定,想写原生SQL,CQ ...
- Spring Boot使用Spring Data Redis操作Redis(单机/集群)
说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和 ...
- Spring Data学习中心
Spring Data 概览 Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性. 它使数据访问技术,关系数据库和非关系数据库,map ...
- 转:使用 Spring Data JPA 简化 JPA 开发
从一个简单的 JPA 示例开始 本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示 ...
- Spring Data JPA 学习记录1 -- 单向1:N关联的一些问题
开新坑 开新坑了(笑)....公司项目使用的是Spring Data JPA做持久化框架....学习了一段时间以后发现了一点值得注意的小问题.....与大家分享 主要是针对1:N单向关联产生的一系列问 ...
- 使用 Spring Data JPA 简化 JPA 开发
从一个简单的 JPA 示例开始 本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示 ...
- Spring data mongodb 聚合,投射,内嵌数组文档分页.
尽量别直接用 DBObject ,Spring data mongodb 的api 本来就没什么多大用处,如果还直接用 DBObject 那么还需要自己去解析结果,说动做个对象映射,累不累 Spri ...
随机推荐
- MySQL按照汉字的拼音排序
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...
- 关于asp.net 开发的小技巧—让传值对象化
前端:前端 定义一个对象, 传值时实例此对象,序列化成json字符串 代码如下: 定义js对象: ///定义一个查询条件对象 var SearchCondition=function(){ this. ...
- java后台如何获取String 类型 json里的字段值
首先把获取到的数据转为json String sbody=Json.getGson().toJson(resp.getResponseBody()); Huanxin 这个类是 json数据对应字段的 ...
- mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
java服务端程序报错后会生成hprof文件,我们可以通过mat工具MemoryAnalyzer进行分析 下载地址: http://www.eclipse.org/mat/downloads.php ...
- ---Shell的数组遍历
1. 一一读入: read -a A < <(echo a b c d e f g) 2. 遍历输出
- 《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用
[转]http://blog.csdn.net/u010778159/article/details/44036365 首先利用TiledMap在原来的地图上添加上障碍物,先新建两个图层,分别叫bar ...
- .net如何向csv添加一列
using System;using System.Collections.Generic;using System.Drawing;using System.Globalization;using ...
- C#实现控制Windows系统关机、重启和注销的方法:
shutdown命令的参数: shutdown.exe -s:关机shutdown.exe -r:关机并重启shutdown.exe -l:注销当前用户 shutdown.exe -s -t 时间:设 ...
- 用EasyWebSvr搭建Axure本地访问地址-转载加完善
1.下载之后解压到任意一个位置,可以是桌面(反正很小不占空间),如图2:: 图2 解压之后文件目录 2.将生成的原型放在EasyWebSvr根目录下的demo之中,如图3所示: 图3 原型文件放置目 ...
- Backbone入门讲解
Backbone是一个实现了web前端mvc模式的js框架. 一种解决问题的通用方法,我们叫做模式. 设计模式:工厂模式,适配器模式,观察者模式等,推荐js设计模式这本书.设计模式是一种思想. 框架模 ...