ES封装工具是一款用于封装Elasticsearch 5x及以上版本的引擎,主要用于实现ES的搜索功能。它可以让你安全地分配权限,提供面向使用者的搜索设置,配置搜索规则,并自动判断搜索错误以及自动建立搜索对象索引。此外,它还支持定制化展示,发布历史清单,添加多个索引,并可以根据不同的需要配置相应的搜索选项,帮助你快速搭建搜索业务。
本节会介绍es的search API,会分别介绍es的URI search和Request Body Search 的使用语法和返回结果部分字段的释义。
在es的URL中使用查询参数进行查询
参数customer_first_name:Eddie标识查询customer_first_name字段中为Eddie的结果
返回结果部分截图:
如上图所示
大家可以在kibana上测试实施结果
使用了es提供的,基于json格式的,更加完备的 Query Domain Specific Language(DSL)这个英文很重要
改语法匹配所有结果数据
本章介绍了es的URI search和Request Body Search,主要介绍了es的这两种链接方式。
如果你被上述问题困扰过,可以参考以下方案
这里需要介绍三种字段的type,分别是 object 、 nested 、 join
现在有个问题,下面的数据如何存入到es中呢,它对应的mapping应该是什么样的呢
name、url这些字段好处理,直接设定字段 "type" : "text" 或者 "type" : "keword" 或者
就行了,但是对于address和links,这种里面包含json对象,或者数组的,怎么处理呢。这里可以采用 "type" : "object" 来处理。如下
可能会对links有疑问,它明明是数组,却怎么和address的设置类似。其实es中是没有单独的数组这一类型,因为他所有的字段都支持数组,比如你是text,你可以放多个值进去,以name为例,你可以放 "name":["张三", "李四"] 这样的数据进去。
而且,es默认对这种嵌套结构建立的索引就是object类型, "type": "object" 可以省略
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)