1.设置空格分词器

 PUT /my_index/my_type/_mapping
{
"my_type": {
"_all": { "analyzer": "whitespace" }
}
}

2.聚合并排序

3.空字符条件term不起作用,或者false不起作用,处理方法

4.如何像sql一样使用in 或者not in

in

var a = new long[] { , ,  };
query.Add(q => q.Terms(m1 => m1.Field("MerId").Terms(a)));

not in

var a = new long[] { , ,  };
selector.Query(o => o.Bool(b => b.MustNot(a)));

5.在原有索引中增加列

curl -XPUT "http://192.168.1.216:9200/deals.info/_mapping/info" -d '{
"properties": {
"StartDate" : {"type": "date"},
"EndDate" : {"type": "date"}
}
}
'

6. nest es中使用日期查询,注意.ToString("o")是必须的,因为es中默认存储的是国际标准时间带了T

SearchDescriptor<object> selector = new SearchDescriptor<object>();
List<Func<QueryContainerDescriptor<object>, QueryContainer>> query = new List<Func<QueryContainerDescriptor<object>, QueryContainer>>();
//一个月之内的搜索记录
query.Add(q => q.DateRange(t => t.Field("UpdateDate").GreaterThanOrEquals(DateMath.FromString(DateTime.UtcNow.AddMonths(-).ToString("o", CultureInfo.InvariantCulture)))));
//合并条件
selector.Query(o => o.Bool(b => b.Must(query.ToArray())));

7.es.net nest部分更新

8.查看分词

curl -XGET 'http://192.168.1.216:9200/seller.archived.track.002/_analyze?analyzer=ik_max_word&pretty'

9.es新增内嵌属性

curl -XPUT "http://192.168.1.216:9200/deals.product.develop/_mapping/info" -d '
{
"properties": {
"CategoryList" : {
"type": "nested",
"properties" : {
"CategoryActionType" : {
"type" : "integer"
},
"FCategoryKey" : {
"type" : "integer"
}
}
}
}
}
'

10.es内嵌搜索脚本

curl -XGET "http://192.168.1.216:9200/deals.product.develop/info/_search?pretty" -d '
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "CategoryList",
"query": {
"bool": {
"must": [
{
"term": {"CategoryList.FCategoryKey": ""}
},
{
"term": {"CategoryList.CategoryActionType": ""}
}
]
}
}
}
}
]
}
}
}
'

11.c#中es内嵌搜索

query.Add(q => q.Nested(c=>c.Path("CategoryList").Query(nq=>nq.Terms(t => t.Field("CategoryList.FCategoryKey").Terms(, )) && q.Terms(t => t.Field("CategoryList.CategoryActionType").Terms(, )))));

ElasticSearch 使用问题的更多相关文章

  1. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  2. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  3. 以bank account 数据为例,认识elasticsearch query 和 filter

    Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...

  4. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  5. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

  6. ElasticSearch 5学习(9)——映射和分析(string类型废弃)

    在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearc ...

  7. .net Elasticsearch 学习入门笔记

    一. es安装相关1.elasticsearch安装  运行http://localhost:9200/2.head插件3.bigdesk插件安装(安装细节百度:windows elasticsear ...

  8. 自己写的数据交换工具——从Oracle到Elasticsearch

    先说说需求的背景,由于业务数据都在Oracle数据库中,想要对它进行数据的分析会非常非常慢,用传统的数据仓库-->数据集市这种方式,集市层表会非常大,查询的时候如果再做一些group的操作,一个 ...

  9. 如何在Elasticsearch中安装中文分词器(IK+pinyin)

    如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...

  10. jar hell & elasticsearch ik 版本问题

    想给es 安装一个ik 的插件, 我的es 是 2.4.0, 下载了一个版本是 1.9.5, [2016-10-09 16:56:26,248][INFO ][node ] [node-2] init ...

随机推荐

  1. EF提示“序列化类型为XXX的对象时检测到循环引用”

    能看到这个标题 ,我就用解释原因,网上很多,我只给大家一个解决方案会: public <#=code.Escape(entity)#> ToPOCO() { return new < ...

  2. MQTT研究之EMQ:【wireshark抓包分析】

    基于上篇博文[SSL双向验证]的环境基础,进行消息的具体梳理. 环境基础信息: . 单台Linux CentOS7.2系统,安装一个EMQTTD的实例broker. . emq的版本2.3.11. . ...

  3. Sqlserver 计算两坐标距离函数

    mark if exists (select * from dbo.sysobjects where id = object_id(N'UF_ETL_GetDistance') and xtype i ...

  4. 将centos的yum源修改为阿里云的yum源

    CentOS系统更换软件安装源 第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentO ...

  5. linux如何查看某个端口接收到的数据

    lsof -i:11883  可以获得 端口的连接信息 用这个可以按照端口查看详细的收发数据 sudo tcpdump -A -s 0 'tcp port 11883 and (((ip[2:2] - ...

  6. JavaScript 环境和作用域

    作用域 1. 全局环境 window: JS的全局执行环境,顶层对象.this指针在全局执行环境时就指向window. console.log(this===window); //true 2. 局部 ...

  7. Ubuntu 15.10 下Redis Cluster使用

    1 Redis Standalone安装 可以参考这篇博文:http://www.cnblogs.com/_popc/p/3684835.html 2 Redis Cluster安装 2.1 环境介绍 ...

  8. mybatis关于ORM的使用以及设计(二)[DaoInterface 转换 Mapper代理对象]

    第一节中,分析了Mybatis的ORM框架的初始化,这篇来分析SQL执行过程中,对象->SQL是如何转换的 其中包含两种映射思想 ①DAO接口->Mapper实例 ②执行DAO的方法时,参 ...

  9. JS——页面带参数跳转

    #index.html window.location.href = "../home.html?value=" + rec_value; #home.html <scrip ...

  10. Celery异步的分布式任务调度理解

    什么是Celery呢? Celery是一个用Python开发的异步的分布式任务调度模块. Celery本身不包含消息服务,使用第三方消息服务,也就是Broker,来传递任务,目前支持的有Rebbimq ...