- Solrj插入操作
为了方便操作,我们可以使用solrj这个客户端来进行。详情参考solrj的wikihttp://wiki.apache.org/solr/Solrj 前段时间看文章有说他用了netty,看了看代码没发现啊,只是用了httpclient,没用nio啊。使用配置就不说了,参考wiki就行,就是注意slf4j的版本,因为slf4j的api变了,如果报错的话,就换下版本吧。下面说下大概使用步骤
- 首先创建Solr对象,根据远程和嵌入式两种方式,远程的是代码为
SolrServer server = new HttpSolrServer("http://HOST:8983/solr/");
- 然后创建要插入的对象
Solrj可以以流的形式插入SolrInputDocument对象,也可以直接插入pojo。以流的形式插入例子如下
SolrInputDocument doc = new SolrInputDocument(); doc.addField("address", user.getAddress()); doc.addField("email", user.getEmail()); doc.addField("lat", user.getLat()); doc.addField("lng", user.getLng()); doc.addField("id", user.getUserId()); UpdateResponse rs = solrClient.addBySolrInputDocument(doc);
直接插入pojo对象的方式参考wiki上面介绍,主要方式就是在pojo上面用注解标注下,然后插入的使用用addBeans方法就行了。不论哪种方式都别忘了server.commit();来提交啊,和操作数据库一样不提交查不到啊。
- Solrj查询操作
首先需要建立ModifiableSolrParam或者SolrQuery对象用来存储查询参数。前者是为了方便查询对象初始化后还能修改的,对象本身带set和get方法。SolrQuery继承自ModifiableSolrParam,包含常用属性设置。下面是个使用SolrQuery的例子
public UserIndexDto serachByGeo(String lng, String lat, String distance) { SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.addFilterQuery("{!geofilt pt=" + lng + "," + lat + " sfield=store d=" + distance + "}"); query.addSort("geodist(store," + lng + "," + lat + ")", SolrQuery.ORDER.asc);//距离排序 log.info("query is " + query.toString()); SolrDocumentList docList = solrClient.queryBySolrQuery(query).getResults(); return changeRsToDtoList(docList); }
- Solrj删除
直接调用server.deleteById可以根据id直接删除
相关推荐
这个“solrj使用教程”很可能是为了帮助开发者了解如何使用SolrJ来连接、查询和管理Solr索引。下面将详细介绍SolrJ的主要功能和使用方法。 **1. 安装和导入** 首先,你需要通过Maven或Gradle等构建工具将SolrJ库...
### Solr配置与SolrJ使用详解 #### 一、Solr简介 Solr是一款开源的、高性能的企业级全文搜索引擎,它可以独立运行并通过HTTP协议提供服务。用户可以通过发送XML文件来创建索引,或者通过HTTP GET请求来进行检索,...
里面有非常详细的说明交你怎么使用solrj客户端来操作solrAPI
简单的SolrJ使用示例,包括文件:News.java(PO对应的class),SolrService.java(对solrJ的包装),SolrServiceHook.java(在查询前修改SolrQuery的行为)
### Solr配置与SolrJ使用详解 #### 一、Solr基本安装与配置 **1. 下载Solr** - **步骤说明**: 从Apache官方镜像站点下载Solr 1.4.1版本。 - **操作详情**: 访问链接`http://apache.etoak.com/lucene/solr/`,...
6. `json-smart-*.jar`:SolrJ使用此库进行JSON序列化和反序列化,处理Solr服务器返回的JSON数据。 7. 可能还需要根据你的具体项目需求,包含如`jackson-core`, `jackson-databind`, `jackson-annotations`等...
### SolrJ 使用详解 #### 一、环境搭建与初始化 在正式介绍如何使用SolrJ之前,我们首先需要确保已经正确地搭建好开发环境。根据提供的内容,环境搭建主要包含以下几个步骤: 1. **创建Java工程**:首先,我们...
doc.addField("title", "SolrJ使用教程"); solrServer.add(doc); solrServer.commit(); ``` 5. **执行查询** `SolrQuery`类用于构造查询语句,`SolrClient`的`query()`方法执行查询并返回一个`SolrResponse`...
总之,"solr-config_solrj-demo.rar_DEMO_solr_solr的j"这个DEMO是一个全面了解和实践Solr配置及SolrJ使用的宝贵资源,它将引导你逐步掌握如何在实际项目中有效地运用Solr进行全文检索和数据分析。通过深入学习和...
solr详细配置教程与solrj的使用
相反,如果项目需要利用Solr 5.x的新功能,或者已经升级到Solr 5.x,那么应使用5.0.0版本的SolrJ。 在实际开发中,SolrJ通过提供简单的Java接口,使得开发者可以方便地执行以下操作: 1. 创建和管理Solr核心...
这个版本可能包含了该时期Solrj的所有特性和修复的bug,对于理解和使用当时的Solrj功能至关重要。 描述中提到,Solr是一个企业级搜索应用服务器,它通过HTTP服务接口提供XML格式的数据交换。这表明Solr设计为分布式...
#### 3.1 SolrJ使用前配置 在Maven工程的pom.xml文件中添加SolrJ的依赖配置,以确保项目可以使用SolrJ提供的类和方法。 #### 3.2 添加文档 - 创建SolrServer对象,推荐使用HttpSolrServer类。 - 创建...
这个"Sample-SolrJ-Client"是一个示例项目,旨在帮助开发者了解如何有效地使用 SolrJ 进行索引、查询和其他操作。以下将详细阐述 SolrJ 的核心概念、功能及其在实际开发中的应用。 1. **SolrJ 简介** SolrJ 是 ...
在本文中,我们将深入探讨Solr-Solrj的使用、功能及其与自建Solr服务的集成,特别是涉及到中文分词的场景。 Apache Solr是一款流行的开源全文搜索引擎,提供高效的全文检索、文档分类、拼写建议等功能。Solr-Solrj...
在使用 SolrJ 时,开发人员需要将这些库添加到项目的类路径中,以便能够调用 SolrJ 提供的各种类和方法。例如,可以通过 `SolrClient` 接口连接到 Solr 服务器,使用 `SolrInputDocument` 类来构建要索引的文档,...
开发者可以使用SolrJ创建索引、查询Solr服务器、处理搜索结果以及执行其他Solr相关的任务。 - 使用SolrJ,开发者无需关心HTTP通信的细节,它封装了所有网络I/O,使得代码更简洁,更易于维护。 2. **JUnit-4.7.0**...
SolrJ使用`SolrInputDocument`对象来表示待索引的文档。每个字段都由`Field`对象表示,如下所示: ```java SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", "123"); doc.addField("title", ...
solrj工具类封装,包括条件批量查询,批量增删改,分段修改。