`

solr java api

    博客分类:
  • solr
 
阅读更多
	// 获取cloudsolrserver
	private CloudSolrServer getsearchclient(String corename) {
		CloudSolrServer server = null;
		// 从配置文件中读取
		PropertyHolder propertyHolder = new PropertyHolder("search");
		String ZKHOST = propertyHolder.getProperty("ZKHOST");
		String client_timeout = propertyHolder.getProperty("ZK_CLIENT_TIMEOUT");
		String connect_timeout = propertyHolder
				.getProperty("ZK_CONNECT_TIMEOUT");
		try {
			server = new CloudSolrServer(ZKHOST);
			server.connect();
			System.out.println("连接成功");
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		server.setDefaultCollection(corename);
		server.setZkClientTimeout(Integer.parseInt(client_timeout));
		server.setZkConnectTimeout(Integer.parseInt(connect_timeout));

		return server;
	}

	// 分页查询
	private SolrQuery querypage() {
		SolrQuery query = new SolrQuery("*:*");
		query.set("start", 0);
		// rows 设为 (Integer.MAX_VALUE)则为查询所有数据
		query.set("rows", 30);
		return query;
	}

	// 条件查询
	private SolrQuery query() {
		SolrQuery query = new SolrQuery();
		// 查询不等于1
		// query.setQuery("id:(!1)");
		// 查询等于1
		// query.setQuery("id:1");
		// 查询id 等于1 或等于2(注意加空格)
		// query.setQuery("id:(1 || 2)");
		// 查询不等于1 且不等于10
		query.setQuery("id:(!1 && !10)");
		query.set("sort", "id asc");
		return query;
	}

	private SolrQuery querysunm() {
		SolrQuery query = new SolrQuery("*:*");
		// query.setQuery("")
		return query;
	}

	// 查询所有的索引
	private SolrQuery queryall() {

		SolrQuery query = new SolrQuery("*:*");
		query.set("sort", "id asc");
		return query;
	}

	// 聚合查询
	private SolrQuery groupquery() {
		// group by 查询必须加 *:*
		SolrQuery query = new SolrQuery("*:*");
		query.addFacetField("dept");
		// 查询分组后字段dept 前缀为网络营销的
		query.setFacetPrefix("网络营销");
		// query.setFacetSort(true);
		return query;
	}

	// 聚合查询输出
	private void groupprint(CloudSolrServer server, SolrQuery query,
			String field) {
		QueryResponse response;
		try {
			response = server.query(query);
			List<Count> factcount = response.getFacetField(field).getValues();
			for (Count count : factcount) {
				System.out.println(count);
			}
		} catch (SolrServerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 查询输出
	private void print(CloudSolrServer server, SolrQuery query) {
		QueryResponse response;
		try {
			response = server.query(query);
			SolrDocumentList list = response.getResults();
			for (SolrDocument solrDocument : list) {
				if (solrDocument.get("id") != null) {
					String dept = solrDocument.get("id").toString();
					System.out.println(dept);
				} else {
					continue;
				}
			}
		} catch (SolrServerException e) {
			e.printStackTrace();
		}

	}

	// 过滤查询
	private SolrQuery filterquery() {
		SolrQuery query = new SolrQuery("*:*");
		// 查询id大于等于1 并且小于等于 10 的索引
		query.set("fq", "id:[1 TO 10]");
		return query;
	}
分享到:
评论

相关推荐

    solr入门java工程

    在这个"solr入门java工程"中,我们将探讨如何使用Java客户端与华为FusionInsight SolrTest进行交互,以及如何在SolrCloud模式下进行分布式搜索。 首先,让我们了解Solr的基本概念。Solr的核心功能是提供高效的全文...

    Solr 3.6.1 API

    Solr3.6.1英文chm格式API 全文搜索用的

    apache Solr API Docs 5.5.5 (CHM格式)

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的...

    Solr结合Java所需Jar

    2. **Jetty**:Solr通常使用Jetty作为内置的HTTP服务器,提供RESTful API供客户端访问。如果在Java项目中需要运行内嵌的Solr服务器,可能需要引入`jetty-server-x.x.x.jar`、`jetty-servlet-x.x.x.jar`等Jetty相关...

    solr与java结合的小例子

    描述中提到的"一个小型例子"可能是通过Java API来操作Solr服务器,进行数据的索引、查询、更新和删除等操作。由于文件大小限制,部分资料可能未包含在15MB的压缩包内,但提供的资源可以帮助理解Solr的基本用法。 ...

    java API汇总大全

    java常用API, jdkAPI cssAPI jqueryAPI EasyUIAPI mysqlAPI oracleAPI solrAPI W3CschoolAPI AjaxAPI

    solr在java中使用总结

    ### Solr在Java中的使用总结 #### 一、Solr简介 Solr是一个高性能的全文搜索引擎,基于Apache Lucene开发,使用Java 5编写。它不仅继承了Lucene的强大功能,还提供了更丰富的查询语言以及更好的性能优化。Solr具备...

    使用java实现solr-7.1.0的api和solr最新支持的sql查询

    在本篇文章中,我们将深入探讨如何使用Java API来与Solr 7.1.0进行交互,并了解Solr最新支持的SQL查询功能。 首先,让我们来讨论如何通过Java API与Solr 7.1.0进行通信。Solr提供了一个名为SolrJ的客户端库,它允许...

    Solr java分词器

    Solr是一款基于Lucene的开源搜索引擎,它提供了更高级别的API和配置选项,包括支持多种分词器。 描述中的“博文链接:https://hui-jing-880210.iteye.com/blog/2174532”虽然没有提供具体信息,但暗示了可能存在一...

    solr ssm java

    Solr支持分布式搜索,能够处理大量数据,并且可以通过RESTful API或XML/JSON等格式进行通信。在Windows或Linux环境下,Solr的搭建主要包括以下步骤:下载Solr二进制包,解压,配置Solr核心,启动Solr服务器,并通过...

    JAVA+Solr分词项目工程实例Java源码

    - 使用Java与Solr集成,主要通过SolrJ库,这是一个Java客户端API,用于与Solr服务器通信。 - 集成步骤包括:添加SolrJ依赖、创建SolrServer对象、构建索引文档、发送请求到Solr服务器进行索引或查询操作。 3. **...

    简单java实现的solr以及redis小demo

    总结来说,这个"简单java实现的solr以及redis小demo"项目将教会你如何利用Java API与Solr和Redis交互,实现基本的搜索功能和缓存策略。通过实践这个项目,你可以更深入地理解这两个强大的工具,并为未来的开发工作...

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

    在Java后台开发中,Solr通过SolrJ客户端库与Java应用进行交互,通过配置和编码实现数据索引、搜索等功能。 ### 1. Solr服务器搭建与配置 搭建Solr服务需要Java环境,推荐在Linux系统中使用Tomcat作为应用服务器进行...

    solr_Tomcat_lib包

    6. **其他依赖**:Solr还可能依赖于其他第三方库,如`jackson*`系列的JAR文件用于JSON处理,`slf4j-api.jar`和日志实现库(如`log4j.jar`)用于日志记录。 安装`solr_Tomcat_lib`包到Tomcat的`WEB-INF/lib`目录下,...

    java solr开发

    - **Java 1.8支持**:Solr 7.2.1构建于Java 1.8之上,利用了Java 8的新特性,如Lambda表达式和Stream API,提高了代码的简洁性和性能。 - **性能优化**:这一版本对索引和查询速度进行了优化,使得搜索响应时间更...

    Solr_4.2.1 docs API (CHM格式)

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的...

    solr 中文分词

    提到的 "IKAnalyzer-master" 文件名表明我们可能正在使用 IK Analyzer,这是一个专门为 Java 开发的开源中文分词器。IK 分词器支持多种扩展策略,可以方便地进行自定义词典添加和分词规则调整,以适应不同的应用...

    solr-7.4.0.zip

    5. `docs`目录:包含了Solr的文档,包括用户手册、API参考等。 6. `contrib`目录:包含了一些社区贡献的模块和功能,如数据导入 handler(DIH)和额外的搜索功能。 要启动Solr 7.4.0,你需要先设置`JAVA_HOME`环境...

    solr的学习

    - **docs**:Solr 的 API 文档。 - **example**:Solr 工程的例子目录,包括 solr、multicore 和 webapps。 - **example/solr**:包含一个默认的 SolrCore。 - **example/multicore**:包含多个 Core 目录。 - ...

    solr 7 官方文档

    Solr基于Java开发,能够处理大量的索引和查询请求,并提供了丰富的功能来满足各种搜索需求。 1. **Solr核心概念** - **索引**:Solr通过建立索引来实现快速搜索。索引是预处理的数据结构,用于存储和检索信息。 -...

Global site tag (gtag.js) - Google Analytics