elasticsearch-搜索、高亮

https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

https://my.oschina.net/u/856051/blog/1486979

1,轻量搜索

查询tweet字段包含elasticsearch字符的文档

GET /_all/tweet/_search?q=tweet:elasticsearch

多查询字段查询GET /_all/tweet/_search?+name:john +tweet:mary

+ 前缀表示必须与查询条件匹配。类似地, - 前缀表示一定不与查询条件匹配。没有 + 或者 - 的所有其他条件都是可选的——匹配的越多,文档就越相关。

全文检索:_all

2,映射

es对输入的每个字符类型都需要进行映射

  • 字符串: string
  • 整数 : byteshortintegerlong
  • 浮点数: floatdouble
  • 布尔型: boolean
  • 日期: date

es也可以自定义数据类型。

当你索引一个包含新域的文档--之前未曾出现-- Elasticsearch 会使用 动态映射 ,通过JSON中基本数据类型,尝试猜测域类型,使用如下规则:

JSON type

域 type

布尔型: true 或者 false

boolean

整数: 123

long

浮点数: 123.45

double

字符串,有效日期: 2014-09-15

date

字符串: foo bar

string

获取es数据类型

http://localhost:9200/index/_mapping/type?pretty

3,复杂搜索

   查询表达式(Query DSL),以及复合(Compound) 语句,eg

GET /_search
{
    "query": {
        "match": {
            "tweet": "elasticsearch"
        }
    }
}

 

es查询分两种机制:过滤和查询

过滤,符合条件,选出,不符合条件,删除。且过滤会被缓存。

查询:当使用于 查询情况 时,查询就变成了一个“评分”的查询。和不评分的查询类似,也要去判断这个文档是否匹配,同时它还需要判断这个文档匹配的有 _多好_(匹配程度如何)。最后变成score在结果中显示。

 

3,高亮功能

 

4,自定义数据类型;

   define:对时间格式进行自定义:

curl -XPUT 'localhost:9200/my_index?pretty' -H 'Content-Type: application/json' -d'
{
  "mappings": {
    "my_type": {
      "properties": {
        "date": {
          "type":   "date",
          "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        },
        "name" : {
          "type" :   "string"
        },
        "user_id" : {
          "type" :   "long"
        }
      }
    }
  }
}
'

put:

curl -XPUT 'localhost:9200/my_index/my_type/123?pretty' -H 'Content-Type: application/json' -d'
{
  "user_id": 1,
  "name":  "Just trying this out...",
  "date":  "2014-01-01 08:08:08"
}

show:

151211_tAEv_856051.png

技术组老大搞es date类型:

151323_9WU9_856051.png

因为这个T搞得我非常狼狈,明明是这个leader的技术问题,可以自定义标准的yyyy-MM-dd HH:mm:ss,却说只能用es自带的带T格式,带Z格式的时间,搞得我现在这么惨。哎,算了,男人的胸怀是被委屈撑大的。真tm的苦逼。

 

转载于:https://my.oschina.net/u/856051/blog/1539994

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值