在前面熟悉了solr的配置,在solr配置好了之后,solr就可以增加索引了,这样就必须使用solrJ了,我在附件上传了很多例子。
solrHome是存储索引的地方。
solr是一个java工程,里面是solrj的一些实现代码
solrWeb是一个web工程,主要是配置solr的一些配置项,这个只是一个辅助主项目的一个辅助web工程。
solr的大jar是solrweb工程里面的jar包解压之后直接放到solrwe下的webinfo下的lib下即可。
大家可以通过上一篇博文先进性配置,配置项的一些jar包,这个博文里面全部都有。下面来介绍一下solrj的一些接口的使用。
public static void main(String[] args) throws Exception {
String url="http://localhost:8080/solr/core1";//其实配置好solr之后,浏览器可以直接打开访问,注意要带上你配置访问的实例名字core1
CommonsHttpSolrServer server=new CommonsHttpSolrServer(url);//根据url得到服务器实例
//下面就是一些http的配置项,一般照写就行了
server.setSoTimeout(1000);
server.setConnectionTimeout(1000);
server.setDefaultMaxConnectionsPerHost(1000);
server.setMaxTotalConnections(1000);
server.setFollowRedirects(false);// defaults to false
// allowCompression defaults to false.
server.setAllowCompression(true);
server.setMaxRetries(1);// defaults to 0. > 1 not recommended.
System.out.println(server);
//增加索引
SolrInputDocument doc1=new SolrInputDocument();//得到一个doc实例,这个实际上就是数据库里面的一行记录
//向doc里面增加数据。
第一个参数,id和name之类是在solrHome里面的schema.xml配置好的字段,要保持一致。
第二个参数,是字段的值
第三个参数,是字段的权重,如果权重越大,检索越优先。默认的权重是1.0
doc1.addField("id","1",1.0f);
doc1.addField("type","hehe",1.0f);
doc1.addField("name","黄俊华",1.0f);
//增加到server里面
server.add(doc1);
//如果增加的doc也就是索引的内容完全一样,solr默认增加不进去的。
//增加索引
SolrInputDocument doc2=new SolrInputDocument();
doc2.addField("id","2",1.0f);
doc2.addField("type","hehe",1.0f);
doc2.addField("name","黄俊华",1.0f);
server.add(doc2);
//增加索引
SolrInputDocument doc3=new SolrInputDocument();
doc3.addField("id","3",1.0f);
doc3.addField("type","hehe",1.0f);
doc3.addField("name","黄俊华",1.0f);
server.add(doc3);
//删除全部索引
*:*是全部匹配
// server.deleteByQuery("*:*");
//根据ID删除一个索引
这个ID是在索引里面的主键,在schema文件里面规定的。
// server.deleteById("1");
//提交,只有提交才是被全部写入到索引里面
server.commit();
//查询
SolrQuery query=new SolrQuery();
query.setQuery("*:*");//全查
query.setQuery("id:1");//查询ID为1的数据,里面对应的查询语句
query.addSortField("id",SolrQuery.ORDER.desc);//字段排序
query.addField("id");//要显示的查询字段ID
query.addField("name");
QueryResponse rsp=server.query(query);
SolrDocumentList docs=rsp.getResults();
System.out.println(docs.getNumFound());//输出命中个数
System.out.println(docs);
}
相关推荐
这个“solrj使用教程”很可能是为了帮助开发者了解如何使用SolrJ来连接、查询和管理Solr索引。下面将详细介绍SolrJ的主要功能和使用方法。 **1. 安装和导入** 首先,你需要通过Maven或Gradle等构建工具将SolrJ库...
里面有非常详细的说明交你怎么使用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工程**:首先,我们...
总之,"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工具类封装,包括条件批量查询,批量增删改,分段修改。