请支持原创:http://www.cnblogs.com/donlianli/p/3841762.html
 
1、索引格式

1.x之前的版本,被索引的文档type会同时出现在url和传输的数据格式中,如下:

PUT /my_index/my_type/1
{
  "my_type": {
     ... doc fields ...
  }
}

这种方式不太妥,如果一个document,本身也有my_type域,那么就会有歧义。1.x版本如果碰到上面的命令,会把my_type当成一个document的域进行处理。如果还想像以前一样使用,可以设置参数index.mapping.allow_type_wrapper.

2、搜索
新的搜索接口,要求参数中必须有一个顶级参数query。count,delete-by-query和validate-query这三个命令,认为query这个json对象全是查询条件。新的格式如下:
GET /_count
{
    "query":{
        "match":{
            "title":"Interesting stuff"
        }
    }
}

1.x之前,query下面还可以包含filter。下面是0.90版的查询:

GET 'http://localhost:9200/twitter/tweet/_search?routing=kimchy'-d '{
    "query":{
        "filtered":{
            "query":{
                "query_string":{
                    "query":"some query string here"
                }
            },
            "filter":{
                "term":{"user":"kimchy"}
            }
        }
    }
}
'//这种格式不再支持

3、多字段搜索(Multi-fields)
新的格式如下:
"title":{
    "type":"string",
    "fields":{
        "raw":   {"type":"string","index":"not_analyzed"}
    }
}
4、停止词

新的版本没有使用英语默认的停止词(默认没有停止词)。

5、不带年份的日期值

新的版本,当没有指定是哪一年时,默认认为是1970年(在索引和搜索时都这样对待)。


6、参数
  • meters作为地理搜索的默认单位(1.x之前是miles)
  • min_similarity,fuzziness和edit_distance这些参数都别统一修改成了fuzziness。
  • ignore_missing参数被expand_wildcard,ignore_unavailable和allow_no_indices替代。
  • 在删除操作中,必须指定一个索引名称或者匹配符。
# v0.90 - delete all indices:
DELETE / # v1.0 - delete all indices:
DELETE /_all
DELETE /*
7、返回值
  • 返回值中ok字符已经被移除,作者认为这个附加信息毫无意义
  • found,not_found和exists参数被统一成为“found"。

Field values, in response to the fields parameter, are now always returned as arrays. A field could have single or multiple values, which meant that sometimes they were returned as scalars and sometimes as arrays. By always returning arrays, this simplifies user code. The only exception to this rule is when fields is used to retrieve metadata like the routing value, which are always singular. Metadata fields are always returned as scalars.

The fields parameter is intended to be used for retrieving stored fields, rather than for fields extracted from the _source. That means that it can no longer be used to return whole objects and it no longer accepts the _source.fieldname format. For these you should use the _source _source_include and _source_exclude parameters instead.

  • 参数查询中,返回的结果也是JSON格式。
  • analyze相关的API,不再支持直接返回文本格式的结果,只支持JSON和YAML格式。

8、不支持的操作

  • 文本搜索(text query)已经被移除,请使用匹配查询(match query)
  • 面向域的搜索(field query)已经被移除,请使用query_string代替
  • 面向文档的加权_boost字段已经移除,请使用function_score代替
  • path参数被移除,请使用copy_to参数
  • custom_score和custom_boost_score不再被支持,请使用fuction_score代替
关于我,邯郸人。微博:http://weibo.com/donlianli
对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
请支持原创:http://www.iteye.com/blogs/subjects/elasticsearch-tutor

Elasticsearch升级至1.x后API的变化-三的更多相关文章

  1. mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法!

    mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法! 修改mysql5.7的配置文件即可解决,方法如下: linux版:找到mysql的安装路径进入默认的为/usr/shar ...

  2. Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024)的解决

    1.1.Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024),VisualSVN Ser ...

  3. Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries

    目录 上篇回顾 Building Queries 匹配所有的查询 全文查询 Full Text Queries 什么是全文查询? Match 全文查询 API 列表 基于词项的查询 Term Term ...

  4. 前后端分离后API交互如何保证数据安全性

    前后端分离后API交互如何保证数据安全性? 一.前言 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC ...

  5. spring cloud+dotnet core搭建微服务架构:Api网关(三)

    前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...

  6. spring cloud+.net core搭建微服务架构:Api网关(三)

    前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...

  7. Servlet 常用API学习(三)

    Servlet常用API学习 (三) 一.HTTPServletRequest简介 Servlet API 中定义的 ServletRequest 接口类用于封装请求消息. HttpServletRe ...

  8. 从零开始学习 asp.net core 2.1 web api 后端api基础框架(三)-创建Data Transfer Object

    原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(三)-创建Data Transfer Object 版权声明:本文为博主原创文章,未经博主允许不得转载. ht ...

  9. Elasticsearch从0.90(0.90.x)到1.2(1.x)API的变化-二

    本文为官方文档的译文加个人理解.作者翻译时,elasticsearch(下面简称es)的版本为1.2.2. 请支持原创:http://www.cnblogs.com/donlianli/p/38367 ...

随机推荐

  1. hdu 4679 树状dp

    思路:我们其实只需要枚举每条边,求得最小值就行了. 先dfs算出每个节点作为根时,其子树的最长路径,以及进过该节点的最长,次长,第三长路径. 然后在次dfs枚举求出切断某条边,求出这条边的两个端点为子 ...

  2. CF 13E. Holes 分块数组

    题目:点这 跟这题BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊  一模一样 分析: 分块数组入门题. 具体的可以学习这篇博文以及做国家集训队2008 - 苏煜<对块状链表的一 ...

  3. Mac环境下svn的使用(转载)

    在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还 ...

  4. JMS - Exceptions

    The JMSException JMS defines JMSException as the root class for exceptions thrown by JMS methods. JM ...

  5. Javascript之登陆验证

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配网址URL的正则表达式:http ...

  6. JS正则与.net正则表达式的区别

    原字符串:长期投资人月井石问华菱钢铁(000932)公司反复强调VAMA的战略意义,请问在2015年4季度达产后对公司贡献的盈利预期 正则匹配处理后:公司反复强调VAMA的战略意义,请问在2015年4 ...

  7. iOS 拷贝、剪切和粘贴理论基础(转)

    简介 在iPhone OS 3.0之后,用户可以在一个应用程序上拷贝文本.图像.或其它数据,然后粘贴到当前或其它应用程序的不同位置上.比如,您可以从某个电子邮件中拷贝一个地址,然后粘贴到Contact ...

  8. java内部类的定义原则

    /*内部类的访问规则:1,内部类可以直接访问外部类中的成员,包括私有.    之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this2,外部类要访问内部类,必 ...

  9. poj 3046 Ant Counting

    Ant Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4982   Accepted: 1896 Desc ...

  10. LINQ中实现 In 与 Not In

    T-SQL的IN: Select ProductID, ProductName, CategoryID From dbo.Products , ) T-SQL的NOT IN: Select Produ ...