- 浏览: 146073 次
文章分类
最新评论
-
x_looking:
Client client = new TransportCl ...
ELASTICSEARCH常见问题 -
辣de冷wmyes:
ElasticSearch视频教程百度网盘地址:http:// ...
一、Elasticsearch安装使用教程
实例
http://www.bubuko.com/infodetail-648214.html
GET _search
{
"query": {
"match_all": {}
}
}
PUT /useraudit
POST /useraudit/t_unparticiple_test/_mapping
{
"t_unparticiple_test": {
"properties": {
"uid": {
"type": "long"
},
"country": {
"type": "string"
},
"city": {
"type": "string"
},
"area": {
"type": "string"
},
"address": {
"type": "string"
},
"time": {
"type": "long"
}
}
}
}
POST /useraudit/t_participle_test/_mapping
{
"t_participle_test": {
"properties": {
"uid": {
"type": "long"
},
"country": {
"type": "string"
},
"city": {
"type": "string"
},
"area": {
"type": "string"
},
"address": {
"type": "string",
"include_in_all": true,
"analyzer": "ik",
"term_vector": "with_positions_offsets"
},
"time": {
"type": "long"
}
}
}
}
POST /useraudit/t_participle_index_test/_mapping
{
"t_participle_index_test": {
"properties": {
"uid": {
"type": "long",
"index": "not_analyzed"
},
"country": {
"type": "string",
"index": "not_analyzed"
},
"city": {
"type": "string",
"index": "not_analyzed"
},
"area": {
"type": "string",
"index": "not_analyzed"
},
"address": {
"type": "string",
"include_in_all": true,
"analyzer": "ik",
"term_vector": "with_positions_offsets"
},
"time": {
"type": "long",
"index": "not_analyzed"
}
}
}
}
PUT /useraudit/t_unparticiple_test/1
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路二段139号"
}
PUT /useraudit/t_unparticiple_test/6
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "东坡胡公园"
}
PUT /useraudit/t_unparticiple_test/2
{
"uid": 200115,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路西三段123号冒菜店"
}
PUT /useraudit/t_unparticiple_test/3
{
"uid": 362201,
"country": "浙江省",
"city":"杭州市",
"area":"萧山区",
"time": 1441293300,
"address": "宁围镇二桥村顺发康庄4栋1单元902"
}
PUT /useraudit/t_unparticiple_test/4
{
"uid": 362203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "新都工业区文东路852号天幕家纺"
}
PUT /useraudit/t_unparticiple_test/5
{
"uid": 662203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "低塘街道新堰西路45号"
}
PUT /useraudit/t_participle_test/1
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路二段139号"
}
PUT /useraudit/t_participle_test/2
{
"uid": 200115,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路西三段123号冒菜店"
}
PUT /useraudit/t_participle_test/3
{
"uid": 362201,
"country": "浙江省",
"city":"杭州市",
"area":"萧山区",
"time": 1441293300,
"address": "宁围镇二桥村顺发康庄4栋1单元902"
}
PUT /useraudit/t_participle_test/4
{
"uid": 362203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "新都工业区文东路852号天幕家纺"
}
PUT /useraudit/t_participle_test/5
{
"uid": 662203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "低塘街道新堰西路45号"
}
PUT /useraudit/t_participle_index_test/1
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路二段139号"
}
PUT /useraudit/t_participle_index_test/2
{
"uid": 200115,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路西三段123号冒菜店"
}
PUT /useraudit/t_participle_index_test/3
{
"uid": 362201,
"country": "浙江省",
"city":"杭州市",
"area":"萧山区",
"time": 1441293300,
"address": "宁围镇二桥村顺发康庄4栋1单元902"
}
PUT /useraudit/t_participle_index_test/4
{
"uid": 362203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "新都工业区文东路852号天幕家纺"
}
PUT /useraudit/t_participle_index_test/5
{
"uid": 662203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "低塘街道新堰西路45号"
}
#精确查询
GET /useraudit/t_unparticiple_test/_search?q=uid:200111
GET /useraudit/t_unparticiple_test/_search
{
"query": {
"match": {
"uid": "200111"
}
}
}
# 字段为strin类型,mappin中未定义取消分词,精确查询不到数据
GET /useraudit/t_unparticiple_test/_search
{
"query": {
"match": {
"city": "衢州市"
}
}
}
GET /useraudit/t_participle_test/_search
{
"query": {
"match": {
"country": "四川省"
}
}
}
# 字段为strin类型,mappin中定义取消分词,精确查询数据
GET /useraudit/t_participle_index_test/_search
{
"query": {
"match": {
"country": "四川省"
}
}
}
#模糊查询
GET /useraudit/t_participle_test/_search
{
"query" : { "term" : { "address" : "红星" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"address" : {}
}
}
}
GET /useraudit/t_participle_index_test/_search
{
"query" : { "term" : { "address" : "红星" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"address" : {}
}
}
}
POST /index/fulltext/_search
{
"query" : { "term" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"content" : {}
}
}
}
二, java客户端调用Elasticsearch集群
1, 精准查询
2, 模糊查询(使用分词)
三, 索引数据的维护
四, 批量插入数据
测试数据量5千万
五, 压力测试并发精准查询和模糊查询
http://www.bubuko.com/infodetail-648214.html
GET _search
{
"query": {
"match_all": {}
}
}
PUT /useraudit
POST /useraudit/t_unparticiple_test/_mapping
{
"t_unparticiple_test": {
"properties": {
"uid": {
"type": "long"
},
"country": {
"type": "string"
},
"city": {
"type": "string"
},
"area": {
"type": "string"
},
"address": {
"type": "string"
},
"time": {
"type": "long"
}
}
}
}
POST /useraudit/t_participle_test/_mapping
{
"t_participle_test": {
"properties": {
"uid": {
"type": "long"
},
"country": {
"type": "string"
},
"city": {
"type": "string"
},
"area": {
"type": "string"
},
"address": {
"type": "string",
"include_in_all": true,
"analyzer": "ik",
"term_vector": "with_positions_offsets"
},
"time": {
"type": "long"
}
}
}
}
POST /useraudit/t_participle_index_test/_mapping
{
"t_participle_index_test": {
"properties": {
"uid": {
"type": "long",
"index": "not_analyzed"
},
"country": {
"type": "string",
"index": "not_analyzed"
},
"city": {
"type": "string",
"index": "not_analyzed"
},
"area": {
"type": "string",
"index": "not_analyzed"
},
"address": {
"type": "string",
"include_in_all": true,
"analyzer": "ik",
"term_vector": "with_positions_offsets"
},
"time": {
"type": "long",
"index": "not_analyzed"
}
}
}
}
PUT /useraudit/t_unparticiple_test/1
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路二段139号"
}
PUT /useraudit/t_unparticiple_test/6
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "东坡胡公园"
}
PUT /useraudit/t_unparticiple_test/2
{
"uid": 200115,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路西三段123号冒菜店"
}
PUT /useraudit/t_unparticiple_test/3
{
"uid": 362201,
"country": "浙江省",
"city":"杭州市",
"area":"萧山区",
"time": 1441293300,
"address": "宁围镇二桥村顺发康庄4栋1单元902"
}
PUT /useraudit/t_unparticiple_test/4
{
"uid": 362203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "新都工业区文东路852号天幕家纺"
}
PUT /useraudit/t_unparticiple_test/5
{
"uid": 662203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "低塘街道新堰西路45号"
}
PUT /useraudit/t_participle_test/1
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路二段139号"
}
PUT /useraudit/t_participle_test/2
{
"uid": 200115,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路西三段123号冒菜店"
}
PUT /useraudit/t_participle_test/3
{
"uid": 362201,
"country": "浙江省",
"city":"杭州市",
"area":"萧山区",
"time": 1441293300,
"address": "宁围镇二桥村顺发康庄4栋1单元902"
}
PUT /useraudit/t_participle_test/4
{
"uid": 362203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "新都工业区文东路852号天幕家纺"
}
PUT /useraudit/t_participle_test/5
{
"uid": 662203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "低塘街道新堰西路45号"
}
PUT /useraudit/t_participle_index_test/1
{
"uid": 200111,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路二段139号"
}
PUT /useraudit/t_participle_index_test/2
{
"uid": 200115,
"country": "四川省",
"city":"眉山市",
"area":"东坡区",
"time": 1441293300,
"address": "红星东路西三段123号冒菜店"
}
PUT /useraudit/t_participle_index_test/3
{
"uid": 362201,
"country": "浙江省",
"city":"杭州市",
"area":"萧山区",
"time": 1441293300,
"address": "宁围镇二桥村顺发康庄4栋1单元902"
}
PUT /useraudit/t_participle_index_test/4
{
"uid": 362203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "新都工业区文东路852号天幕家纺"
}
PUT /useraudit/t_participle_index_test/5
{
"uid": 662203,
"country": "浙江省",
"city":"衢州市",
"area":"常山县",
"time": 1441293300,
"address": "低塘街道新堰西路45号"
}
#精确查询
GET /useraudit/t_unparticiple_test/_search?q=uid:200111
GET /useraudit/t_unparticiple_test/_search
{
"query": {
"match": {
"uid": "200111"
}
}
}
# 字段为strin类型,mappin中未定义取消分词,精确查询不到数据
GET /useraudit/t_unparticiple_test/_search
{
"query": {
"match": {
"city": "衢州市"
}
}
}
GET /useraudit/t_participle_test/_search
{
"query": {
"match": {
"country": "四川省"
}
}
}
# 字段为strin类型,mappin中定义取消分词,精确查询数据
GET /useraudit/t_participle_index_test/_search
{
"query": {
"match": {
"country": "四川省"
}
}
}
#模糊查询
GET /useraudit/t_participle_test/_search
{
"query" : { "term" : { "address" : "红星" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"address" : {}
}
}
}
GET /useraudit/t_participle_index_test/_search
{
"query" : { "term" : { "address" : "红星" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"address" : {}
}
}
}
POST /index/fulltext/_search
{
"query" : { "term" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"content" : {}
}
}
}
二, java客户端调用Elasticsearch集群
1, 精准查询
2, 模糊查询(使用分词)
public class ESQueryClient { static Client CLIENT = null; static { // on startup Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "elasticsearch_useraudit").put("client.transport.sniff", true) .build(); CLIENT = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9301)) .addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9302)) .addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9303)); } public static void main(String[] args) throws ElasticsearchException, IOException { // 通过id查询 qryById(); // 通过某个字段查询,例如uid, country SearchRequestBuilder builder = CLIENT.prepareSearch("useraudit").setTypes("t_participle_test").setSearchType(SearchType.DEFAULT) .setFrom(0).setSize(100); BoolQueryBuilder qb = QueryBuilders.boolQuery().must(new QueryStringQueryBuilder("眉山市").field("city")); builder.setQuery(qb); SearchResponse response = builder.execute().actionGet(); System.out.println("字段为strin类型, mappin中未定义取消分词,精确查询不到数据, 测试结果:"); System.out.println("通过city字段查询:" + response); System.out.println("通过city字段查询信息数量:" + response.getHits().getTotalHits()); // 通过某个字段查询,例如uid, country builder = CLIENT.prepareSearch("useraudit").setTypes("t_participle_index_test").setSearchType(SearchType.DEFAULT).setFrom(0).setSize(100); qb = QueryBuilders.boolQuery().must(new QueryStringQueryBuilder("眉山市").field("city")); builder.setQuery(qb); response = builder.execute().actionGet(); System.out.println("字段为strin类型, mappin中定义取消分词,精确查询数据 , 测试结果:"); System.out.println("通过city字段查询:" + response); System.out.println("通过city字段查询信息数量:" + response.getHits().getTotalHits()); // .should(new QueryStringQueryBuilder("太多").field("city")) CLIENT.close(); } private static void qryById() { GetResponse response = CLIENT.prepareGet("useraudit", "t_participle_test", "1").setOperationThreaded(false).execute().actionGet(); System.out.println("通过id查询:" + response.getSourceAsString()); } }
三, 索引数据的维护
四, 批量插入数据
测试数据量5千万
五, 压力测试并发精准查询和模糊查询
发表评论
-
使用 Scripted Metric Aggregation 遇到的问题
2016-02-19 14:12 2404使用Scripted Metric Aggregation进行 ... -
ElasticSearch性能优化策略
2016-02-17 19:42 3489ElasticSearch性能优化主要分为4个方面的优化。 一 ... -
Elasticsearch 数据建模 - 处理关联关系
2016-02-17 14:40 1022数据建模(Modeling Your Data ... -
数据类型转换错误
2016-02-15 18:28 1556异常: Invalid shift value (64) in ... -
elasticsearch 排序异常,关键字冲突
2016-02-03 12:35 5807org.elasticsearch.action.search ... -
ElasticSearch不同类型下同名字段排序错误
2016-02-03 11:18 1897虽然之前知道elasticsearch不同类型下同名字段要慎用 ... -
ElasticSearch immense term错误
2016-02-02 19:07 2571在使用ElasticSearch的过程中遇到了一个immens ... -
ELASTICSEARCH常见问题
2015-09-22 15:39 31591. ELASTICSEARCH建索引过程中崩溃问题追查 by ... -
routing实例1
2015-09-21 18:51 0package com.eg.part1; import j ... -
routing实例
2015-09-21 18:49 0创建索引: PUT /useraudit_v1 创建索引别名: ... -
elasticsearch java调用实例
2015-09-19 23:55 3499http://outofmemory.cn/code-snip ... -
[维护]Elasticsearch零停机时间更新索引配置或迁移索引
2015-09-18 10:16 751另外一篇文章:http://blog.csdn.net/dm_ ... -
elasticsearch 的mapping定义
2015-09-18 10:16 1165elasticsearch 的mapping 例子一: 订单 ... -
ElasticSearch基础杂烩-配置-索引-优化
2015-09-19 23:56 601http://blog.csdn.net/huwei2003/ ... -
Elasticsearch安装中文分词插件ik
2015-09-18 10:15 1988安装步骤: 1、到github ... -
ElasticSearch的各种服务的URL
2015-09-18 10:15 493前言 elasticsearch 将各种功能、配置、服务都以A ... -
ElasticSearch集群搭建
2015-09-19 23:56 541http://www.linuxidc.com/Linux/2 ... -
elasticsearch 配置
2015-09-18 10:16 665elasticsearch.conf 主要是设置一些java运 ... -
elasticsearch中文分词集成
2015-09-17 09:35 565elasticsearch官方只提供smartcn这个中文分词 ... -
elasticsearch的Mapping定义
2015-09-17 09:35 1369Mapping,就是对索引库中 ...
相关推荐
主要介绍了Java如何使用elasticsearch进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
写在前面Elasticsearch(以下简称 ES)中的模糊查询官方是建议慎用的,因为的它的性能不是特别好。不过这个性能不好是相对 ES 自身的其它查询(ter
Elasticsearch7.0实例精解 源代码
在eclipse上,操作elasticsearch的简单程序
springboot整合elasticsearch7,进行数据同步。elasticsearch相关度查询、排序。高亮显示;自动补全等功能。代码仅供参考,代码中有具体的注释,可以根据代码及注释内容,对自己项目架构及业务进行修改、整合。
实例参考网上代码:http://blog.mkfree.com/posts/51679f71975a2683ccfee2cc 基于elasticsearch和Junit单元测试方法对index、search、...本实例基于: elasticsearch 0.20.5 编写by:http://blog.csdn.net/foamflower
基于SpringBoot+elasticsearch的操作项目,包含各种es的操作(插入记录、精准搜索、模糊搜索、聚合查询等) 基于SpringBoot+elasticsearch的操作项目,包含各种es的操作(插入记录、精准搜索、模糊搜索、聚合查询等...
项目中开发的实例,下载启动,正常访问,解答在博客中课观看
ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;
Android通讯录、模糊查询方法,匹配以数字或者加号开头的字符串(包括了带空格及-分割的号码
今天小编就为大家分享一篇关于JAVA使用Elasticsearch查询in和not in的实现方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
要使用Python处理Elasticsearch实例,可以使用elasticsearch库来与Elasticsearch进行交互。以下是一个简单的描述: 导入相关库:首先需要导入必要的Python库,如elasticsearch(用于与Elasticsearch建立连接和执行...
elasticsearch python 查询的两种方法,具体内容如下所述: from elasticsearch import Elasticsearch es = Elasticsearch res1 = es.search(index=2018-07-31, body={query: {match_all: {}}}) print(es1) {'_...
本实例参考网上代码:http://www.ibm.com/developerworks/cn/java/j-javadev2-24/ 通过Jest和Junit单元测试的方法创建索引和检索 第一步:启动一个elasticsearch服务,...本实例基于: Jest 0.0.3,elasticsearch 0.20.5
ElasticSearch代码实例C#
Elasticsearch实例代码,简单演示Elasticsearch5.5下建立索引,查询,删除等操作。
4.(后端技术篇java)ElasticSearch实现反向地址匹配服务(点周边查询服务) 5.(后端技术篇java)ElasticSearch实现矩形空间查询服务 6.(后端技术篇java)ElasticSearch实现圆形空间查询服务 7.(后端技术篇java)...
本示例程序主要是对spring data elasticsearch的实践,包含接口声明查询、注解查询和自定义repository查询。运行TestCase时候,请先将配置文件中ES服务端ip:port配置替换成真是的服务端地址
(狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战),包含了小狂神讲的东西,特别适合新手学习,笔记保存下来可以多看看。好记性不如烂笔头哦~,ElasticSearch,简称es,es是一个...
消费kafka数据,然后批量导入到Elasticsearch,本例子使用的kafka版本0.10,es版本是6.4,使用bulk方式批量导入到es中,也可以一条一条的导入,不过比较慢。 <groupId>org.elasticsearch <artifactId>elastic...