`

solrj使用

    博客分类:
  • solr
 
阅读更多
  1. 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();来提交啊,和操作数据库一样不提交查不到啊。

  1. 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);
    }

 

  1. Solrj删除

直接调用server.deleteById可以根据id直接删除

分享到:
评论

相关推荐

    solrj使用教程

    这个“solrj使用教程”很可能是为了帮助开发者了解如何使用SolrJ来连接、查询和管理Solr索引。下面将详细介绍SolrJ的主要功能和使用方法。 **1. 安装和导入** 首先,你需要通过Maven或Gradle等构建工具将SolrJ库...

    solr配置和solrj使用(demo)

    ### Solr配置与SolrJ使用详解 #### 一、Solr简介 Solr是一款开源的、高性能的企业级全文搜索引擎,它可以独立运行并通过HTTP协议提供服务。用户可以通过发送XML文件来创建索引,或者通过HTTP GET请求来进行检索,...

    非常全面的solrj使用案例

    里面有非常详细的说明交你怎么使用solrj客户端来操作solrAPI

    SolrJ使用示例

    简单的SolrJ使用示例,包括文件:News.java(PO对应的class),SolrService.java(对solrJ的包装),SolrServiceHook.java(在查询前修改SolrQuery的行为)

    solr配置和solrJ的使用

    ### Solr配置与SolrJ使用详解 #### 一、Solr基本安装与配置 **1. 下载Solr** - **步骤说明**: 从Apache官方镜像站点下载Solr 1.4.1版本。 - **操作详情**: 访问链接`http://apache.etoak.com/lucene/solr/`,...

    SolrJ需要的jar包

    6. `json-smart-*.jar`:SolrJ使用此库进行JSON序列化和反序列化,处理Solr服务器返回的JSON数据。 7. 可能还需要根据你的具体项目需求,包含如`jackson-core`, `jackson-databind`, `jackson-annotations`等...

    1.4、solrj的使用_代码开始1

    ### SolrJ 使用详解 #### 一、环境搭建与初始化 在正式介绍如何使用SolrJ之前,我们首先需要确保已经正确地搭建好开发环境。根据提供的内容,环境搭建主要包含以下几个步骤: 1. **创建Java工程**:首先,我们...

    solrj的使用

    doc.addField("title", "SolrJ使用教程"); solrServer.add(doc); solrServer.commit(); ``` 5. **执行查询** `SolrQuery`类用于构造查询语句,`SolrClient`的`query()`方法执行查询并返回一个`SolrResponse`...

    solr-config_solrj-demo.rar_DEMO_solr_solr的j

    总之,"solr-config_solrj-demo.rar_DEMO_solr_solr的j"这个DEMO是一个全面了解和实践Solr配置及SolrJ使用的宝贵资源,它将引导你逐步掌握如何在实际项目中有效地运用Solr进行全文检索和数据分析。通过深入学习和...

    solr详细配置教程与solrj的使用

    solr详细配置教程与solrj的使用

    solr-solrj-4.10.3.jar和solr-solrj-5.0.0.jar

    相反,如果项目需要利用Solr 5.x的新功能,或者已经升级到Solr 5.x,那么应使用5.0.0版本的SolrJ。 在实际开发中,SolrJ通过提供简单的Java接口,使得开发者可以方便地执行以下操作: 1. 创建和管理Solr核心...

    solr-solrj-6.1.0

    这个版本可能包含了该时期Solrj的所有特性和修复的bug,对于理解和使用当时的Solrj功能至关重要。 描述中提到,Solr是一个企业级搜索应用服务器,它通过HTTP服务接口提供XML格式的数据交换。这表明Solr设计为分布式...

    Java搜索服务Solr操作指南.pdf

    #### 3.1 SolrJ使用前配置 在Maven工程的pom.xml文件中添加SolrJ的依赖配置,以确保项目可以使用SolrJ提供的类和方法。 #### 3.2 添加文档 - 创建SolrServer对象,推荐使用HttpSolrServer类。 - 创建...

    Sample-SolrJ-Client:示例 SolrJ 客户端

    这个"Sample-SolrJ-Client"是一个示例项目,旨在帮助开发者了解如何有效地使用 SolrJ 进行索引、查询和其他操作。以下将详细阐述 SolrJ 的核心概念、功能及其在实际开发中的应用。 1. **SolrJ 简介** SolrJ 是 ...

    solr-solrj 5.0.0 demo

    在本文中,我们将深入探讨Solr-Solrj的使用、功能及其与自建Solr服务的集成,特别是涉及到中文分词的场景。 Apache Solr是一款流行的开源全文搜索引擎,提供高效的全文检索、文档分类、拼写建议等功能。Solr-Solrj...

    SolrJ6.3.0

    在使用 SolrJ 时,开发人员需要将这些库添加到项目的类路径中,以便能够调用 SolrJ 提供的各种类和方法。例如,可以通过 `SolrClient` 接口连接到 Solr 服务器,使用 `SolrInputDocument` 类来构建要索引的文档,...

    solrJ 需要的jar文件 (全)

    开发者可以使用SolrJ创建索引、查询Solr服务器、处理搜索结果以及执行其他Solr相关的任务。 - 使用SolrJ,开发者无需关心HTTP通信的细节,它封装了所有网络I/O,使得代码更简洁,更易于维护。 2. **JUnit-4.7.0**...

    java1.6源码-solrj.client:使用solr.solrjJava库将Java索引到Solr6.2.1的源代码

    SolrJ使用`SolrInputDocument`对象来表示待索引的文档。每个字段都由`Field`对象表示,如下所示: ```java SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", "123"); doc.addField("title", ...

    solrj工具类封装

    solrj工具类封装,包括条件批量查询,批量增删改,分段修改。

Global site tag (gtag.js) - Google Analytics