
Elasticsearch
文章平均质量分 84
Korbin Luo
这个作者很懒,什么都没留下…
展开
-
分布式搜索Elasticsearch——概述
前注:有些内容来自网络,此处引用 Elasticsearch是一个基于lucene的、开源的、分布式的、RESTful的搜索引擎。Elasticsearch有如下特征: 1. 更快的执行搜索; 2. 安装简单; 3. 完全自由的搜索模式; 4. 可以简单地通过HTTP使用JSON索引数据; 5.原创 2012-12-27 18:07:11 · 9246 阅读 · 1 评论 -
分布式搜索Elasticsearch——QueryBuilders.idsQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载。 ES源代码中对idsQuery的描述如下所示: /** * Constructs a query that will match only specific ids within types.原创 2013-05-17 14:22:21 · 10590 阅读 · 0 评论 -
分布式搜索Elasticsearch——MultiSearch
MultiSearch是ElasticSearch提供的针对多个查询请求进行一次查询的接口,该接口虽然能解决同时执行多个不同的查询,但存在以下问题: 1. 无法对最终结果进行分页,除非人工分页; 2.有可能多个SearchRequest查询出来的结果中,存在重复的结果,但MultiSearch并不负责去重。 org.elasticsearc原创 2013-05-17 15:24:29 · 6591 阅读 · 0 评论 -
分布式搜索Elasticsearch——项目过程(一)
本文描述的是内嵌ES项目的开发,虽嵌入了Paoding分词器,但代码过程中暂未使用,故遇到针对paoding的步骤,可直接跳过。 技术描述:ElasticSearch0.20.6+Paoding。 技术环境:Eclipse、Maven 步骤一:下载并安排ElasticSearch,编写本文章时使用的是0.20.6版本,下载地址为:http://原创 2013-05-16 11:07:17 · 7846 阅读 · 0 评论 -
分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载。 ES源代码中对matchPhrasePrefixQuery的描述如下所示: /** * Creates a match query with type "PHRASE_PREFIX" for the pr原创 2013-05-17 13:45:40 · 8295 阅读 · 3 评论 -
分布式搜索Elasticsearch——删除指定索引
删除索引的方式很多,这里列举三种。 第一种是指定index、type、id执行删除,示例代码如下:/** * @author Geloin */package com.gsoft.gsearch.util;import org.elasticsearch.action.get.GetResponse;import org.junit.Test;import com原创 2013-05-17 15:49:45 · 9550 阅读 · 1 评论 -
分布式搜索Elasticsearch——创建客户端(六)
使用java client有以下几种方式: (1) 在一个已经存在的集群中,执行标准的index、get、delete或search操作; (2) 在一个正在运行的集群中,执行管理任务; (3) 在你的应用中运行集成的Elasticsearch或者当你执行单元测试或集成测试时启动全部的节点时; 获取Client对象很简单,最常原创 2013-05-09 17:31:03 · 2288 阅读 · 0 评论 -
分布式搜索Elasticsearch——创建索引
创建索引的第一步工作,是将你要创建索引的对象转化为Json字符串。 生成Json的方法很多,最直接的是手写,将你的实体转化为Json:String json = "{" + ""user":"kimchy"," + ""postDate":"2013-01-30"," + ""message":"trying out Elast原创 2013-05-09 18:44:33 · 10285 阅读 · 0 评论 -
分布式搜索Elasticsearch——检索一条记录
分布式搜索Elasticsearch——创建索引一文中提到如何创建索引,本文讲述如何检索一条记录,也就是ES中的Get。 在创建索引时,我们根据IndexResponse,得到了index、type和id,Get一条记录的方法很简单:GetResponse getResponse = client.prepareGet(index, type, id).execute().a原创 2013-05-09 18:59:11 · 3823 阅读 · 0 评论 -
分布式搜索Elasticsearch——批量创建索引
直接上代码: public void testBulkIndex() throws Exception { NodeBuilder builder = NodeBuilder.nodeBuilder(); String clusterName = PropertyManager.getContextProperty("cluster.name"); builder.cluster原创 2013-05-09 19:13:02 · 5395 阅读 · 1 评论 -
分布式搜索Elasticsearch——搜索(一)
简单的搜索: SearchResponse response = client.prepareSearch("user") .setTypes("tb_person0", "tb_person1", "tb_person2", "tb_person3", "tb_person4") .setSearchType(SearchType.DFS_QUERY原创 2013-05-09 23:23:52 · 10806 阅读 · 0 评论 -
分布式搜索Elasticsearch——搜索(二)
前面提到如何进行搜索,并将SearchRequestBuilder的一些方法进行了列举,本文调用了SearchRequestBuilder的用于高亮的方法,处理了检索中的高亮问题: SearchResponse response1 = client.prepareSearch("user") .setTypes("tb_person0", "tb_person1",原创 2013-05-10 00:04:12 · 3134 阅读 · 1 评论 -
分布式搜索Elasticsearch——QueryBuilders.matchAllQuery
源代码解释如下: /** * A query that match on all documents. */ public static MatchAllQueryBuilder matchAllQuery() { return new MatchAllQueryBuilder(); } 即用于匹配所有Document的Q原创 2013-05-14 17:19:26 · 9071 阅读 · 0 评论 -
分布式搜索Elasticsearch——QueryBuilders.matchPhraseQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载。 ES源代码中对matchPhraseQuery的描述如下所示: /** * Creates a text query with type "PHRASE" for the provided field n原创 2013-05-16 14:43:36 · 9529 阅读 · 0 评论 -
分布式搜索Elasticsearch——QueryBuilders.multiMatchQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载。 ES中对multiMatchQuery的描述如下所示: /** * Creates a match query with type "BOOLEAN" for the provided field nam原创 2013-05-16 14:24:02 · 19052 阅读 · 0 评论 -
分布式搜索Elasticsearch——安装
单机环境 安装步骤: 1. 安装jdk或者jre,然后设置好环境变更JAVA_HOME; 2. 下载elasticsearch,将之解压,如解压到D:\java\elasticsearch; 3. 打开Dos,进入到D:\java\elasticsearch\bin,执行以下命令:elasticsearch.bat原创 2012-12-27 18:52:22 · 14685 阅读 · 2 评论 -
分布式搜索Elasticsearch——节点实例化
注:后面提到的所有代码都是以java为例。要连接到集群,首先要告诉集群:你是谁,你有什么特征。在es中体现为实例化节点。es通过org.elasticsearch.node.NodeBuilder的build()或者node()方法实例化节点,build()创建节点而不启动,而node()方法等价于build().start(),即创建并启动。首先实例化NodeBuilder,有两种方原创 2012-12-28 12:22:19 · 14253 阅读 · 5 评论 -
分布式搜索Elasticsearch——配置
配置文件位于%ES_HOME%/config/elasticsearch.yml文件中,用Editplus打开它,你便可以进行配置。 所有的配置都可以使用环境变量,例如:node.rack: ${RACK_ENV_VAR} 表示环境变量中有一个RACK_ENV_VAR变量。 下面列举一下elasticsearch的可配置项:原创 2012-12-27 19:22:47 · 30759 阅读 · 1 评论 -
分布式搜索Elasticsearch——集成paoding
先做个记录,研究出来了,不记下来下次就不知道怎么处理了。为es安装paoding插件首先你得安装paoding插件,进入%ES_HOME%/bin,执行下列代码:plugin -install medcl/elasticsearch-analysis-paoding/1.0.0接下来,在https://github.com/medcl/elasticsearch-analysi原创 2012-12-29 17:38:09 · 13944 阅读 · 2 评论 -
分布式搜索Elasticsearch——创建客户端(二)
3. org.elasticsearch.client.ClusterAdminClient接口ClusterAdminClient提供了对针对集群的action和operation的管理接口。它有以下方法:1) health(ClusterHealthRequest request)、health(ClusterHealthRequest request, ActionListene原创 2013-01-07 13:17:09 · 4270 阅读 · 0 评论 -
分布式搜索Elasticsearch——创建客户端(四)
org.elasticsearch.client.AdminClient的实现类有两个,如下所示:org.elasticsearch.client.transport.support.InternalTransportAdminClient和org.elasticsearch.client.node.NodeAdminClient各自实现了一个构造子以及AdminClient接口的两个方法原创 2013-01-07 13:52:09 · 3055 阅读 · 1 评论 -
分布式搜索Elasticsearch——创建客户端(一)
注:该文及后续的几篇文章为概述,之后会将实例补充到文章中。在elasticsearch源代码中,进入到org.elasticsearch.client,你会发现下图所示的类:我们从最外层开始。1 org.elasticsearch.client.AdminClient接口AdminClient下有两个方法:1) cluster(),产生一个允许从集群中执行act原创 2012-12-28 19:41:46 · 25291 阅读 · 0 评论 -
分布式搜索Elasticsearch——创建客户端(三)
4. org.elasticsearch.client.IndicesAdminClient接口IndicesAdminClient提供了针对索引的action的operation的管理进行操作的接口,它有以下方法:1) exists(IndicesExistsRequest request)、exists(IndicesExistsRequest request, ActionLis原创 2013-01-07 13:41:26 · 8300 阅读 · 2 评论 -
分布式搜索Elasticsearch——创建客户端(五)
org.elasticsearch.client.Client的子类结构如下图所示:org.elasticsearch.client.internal.InternalClient接口在Client接口的基础上,添加了一个settings()方法,用于获取当前客户端的Settings。org.elasticsearch.client.support.AbstractClient实现原创 2013-01-09 13:22:38 · 5647 阅读 · 3 评论 -
分布式搜索Elasticsearch——QueryBuilders.matchQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载。 ES源代码中对matchQuery的描述如下所示: /** * Creates a match query with type "BOOLEAN" for the provided field name原创 2013-05-16 11:57:55 · 8496 阅读 · 0 评论 -
分布式搜索Elasticsearch——项目过程(二)
步骤七:将elasticsearch-analysis-paoding-master项目中的config/paoding/dic文件夹复制到硬盘上的任一目录,假设为d:\dic; 步骤八:将elasticsearch-analysis-paoding-master项目中的config/paoding/paoding-analyzer.properties文件复制到esmple项目原创 2013-05-16 11:43:03 · 4977 阅读 · 0 评论 -
分布式搜索Elasticsearch——QueryBuilders.termQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载。 ES源代码中对termQuery的描述如下所示: /** * A Query that matches documents containing a term. * * @param原创 2013-05-16 12:01:30 · 14530 阅读 · 4 评论 -
集成Spring、Elasticsearch、paoding,将ES服务嵌入到Web程序
步骤一:创建web项目,集成Spring 1. 创建一个web项目,并使其web.xml文件如下所示:<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/原创 2013-12-02 15:37:26 · 27747 阅读 · 6 评论