映射
mapping.json
{
"book": {
"_index": {
"enabled": true
},
"_id": {
"index": "not_analyzed",
"store": "yes"
},
"properties": {
"author": {
"type": "string"
},
"characters": {
"type": "string"
},
"copies": {
"type": "string"
},
"otitle": {
"type": "string"
},
"tags": {
"type": "string"
},
"title": {
"type": "string"
},
"year": {
"type": "long",
"ignore_malformed": false,
"index": "analyzed"
},
"available": {
"type": "boolean"
}
}
}
} 建立索引 curl -XPOST 'localhost:9200/libbrary'
curl -XPUT 'localhost:9200/library/book/_mapping' -d @mapping.json documents.json
{ "index": {"_index": "library", "_type": "book", "_id": "1"}}
{ "title": "All Quiet on the Western Front","otitle": "Im Westen
nichts Neues","author": "Erich Maria Remarque","year":
1929,"characters": ["Paul Bäumer", "Albert Kropp", "Haie
Westhus", "Fredrich Müller", "Stanislaus Katczinsky",
"Tjaden"],"tags": ["novel"],"copies": 1, "available": true,
"section" : 3}
{ "index": {"_index": "library", "_type": "book", "_id": "2"}}
{ "title": "Catch-22","author": "Joseph Heller","year":
1961,"characters": ["John Yossarian", "Captain Aardvark",
"Chaplain Tappman", "Colonel Cathcart", "Doctor
Daneeka"],"tags": ["novel"],"copies": 6, "available" : false,
"section" : 1}
{ "index": {"_index": "library", "_type": "book", "_id": "3"}}
{ "title": "The Complete Sherlock Holmes",
"author": "Arthur Conan Doyle","year": 1936,"characters":
["Sherlock Holmes","Dr. Watson", "G. Lestrade"],"tags":
[],"copies": 0, "available" : false, "section" : 12}
{ "index": {"_index": "library", "_type": "book", "_id": "4"}}
{ "title": "Crime and Punishment","otitle": "Преступлéние и
наказáние","author": "Fyodor Dostoevsky","year":
1886,"characters": ["Raskolnikov", "Sofia Semyonovna
Marmeladova"],"tags": [],"copies": 0, "available" : true}

  

获取文档版本版本值

{
"version": true,
"query": {
"query_string": {
"query": "title:crime"
}
}
} 搜索类型 search_type 通过指定搜索类型来选择查询在内部如何处理

query_then_fetch 返回结果最大数量=size参数的值,默认;1、执行查询得到对文档进行排序和分级所需信息,该步在所有分片上执行;2、只在相关分片上查询文档的实际内容;
query_and_fetch 返回结果最大数量=size参数的值*分片数量 查询在所有分片上并行执行(当然,任意一个主分片,只查询一个副本),所有分片返回等于size值得结果数;
dfs_query_and_fetch 类似query_and_fetch,但相比query_and_fetch包含一个额外的阶段,在初始查询中执行分布式词频计算,以得到返回文件的更精确的得分,从而上查询结果更相关;
dfs_query_then_fetch 类似query_then_fetch,但相比query_and_fetch包含一个额外的阶段;
count 只返回匹配查询的文档数
scan 另一个特殊类型的搜索类型,只有在要查询返回大量结果时才用;在发送第一个请求后,Elasticsearch响应一个滚动标识符,类似于关系型数据库中的游标;

搜索执行偏好
控制查询如何执行
控制查询在哪些分片执行

默认,Elasticsearch使用额分片和副本,既包含我们已经发送过请求的可用节点,又包括
集群中的其他节点。
_primary 只在主分片上执行检索,不适用副本;当想使用索引猴子那个最近更新的、还没复制到副本中的信息,这个很有用;
_primary_first 如果主分片可用,只在主分片上执行搜索,否则才在其他分片上执行
_local 在可能情况下,只在发送请求的节点上的可用分片上执行搜索
_only_node:node_id 只在提供标识符的节点上执行搜索
_prefer_node:node_id Elasticsearch将尝试在提供标识符的节点上执行搜索;如果该节点不可用,则视同其他的可用节点
_shards:1,2 Elasticsearch将在提供标识符法人分片上执行操作;_shards参数可以和其他首选项合并,但
_shards标识符必须在前面,比如_shards:1,2;_local

curl -XGET 'localhost:9200/library/book/_search?pretty=true&search_type=query_and_fetch' -d '

{
"query": {
"term": {
"title": "crime"
}
}
}

'

curl -XGET 'localhost:9200/library/book/_search?preference=_lcoal' -d '

{
"query": {
"term": {
"title": "crime"
}
}
}

'

boost加权
在查询中包含加权值,它将赋给所有跟它匹配的文档。

{
"query": {
"match_all": {
"boost": 2.0
}
}
}
												

获取文档版本版本值 滚动标识符 游标 控制查询如何执行 控制查询在哪些分片执行 boost加权的更多相关文章

  1. jquery获取文档高度和窗口高度的例子

    jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  2. Java解析word,获取文档中图片位置

    前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...

  3. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

  4. javaScript获取文档中所有元素节点的个数

    HTML+JS 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  5. SharePoint 2013 通过审计获取文档下载次数

    1.创建一个文档库,进入库设置,找到”Information management policy settings”,点进去,如下图: 2.分别设置”Document”.”Folder”两个,如下图: ...

  6. jQuery中获取文档的高度、可视区域高度以及滚动条距页面顶部的高度

    在写页面的时候,经常会碰到这样的情况,就是要获取文档的高度.可视区域高度或者滚动条距页面顶部的高度等情况. 但我总是有些爱搞混淆了,这里还是简单做个笔记吧,这里只限于使用jQuery来获取. 1.获取 ...

  7. 利用ArcEngine开发地图发布服务,将mxd文档一键发布成wmts,并根据需要对地图进行空间查询,返回客户端geojson

    一直想开发一个软件取代ArcGIS Server,该软件使用ArcEngine开发,以Windows Service形式发布,部署在服务端上,解决wmts地图服务发布和空间查询的问题,经过不断的研究. ...

  8. js、jQuery 获取文档、窗口、元素的各种值

    基于两年开发经验,总结了 javascript.jQuery 获取窗口.文档.元素的各种值 javascript: 文档:是整个document所有的内容 浏览器当前窗口文档body的宽度: docu ...

  9. 读取数据库信息并生成表设计文档Word版本

    1.参考C#代码 using Help.DBAccessLayer.Business; using Help.DBAccessLayer.Model.SqlGenerator; using Newto ...

随机推荐

  1. spring-cloud-config笔记

    忽略元数据末尾 回到原数据开始处 spring-cloud-config 简单来讲就是spring-cloud实现的分布式配置中心.与之前介绍的开源配置服务方案 disconf是一样的,spring- ...

  2. 点滴积累【C#】---C#实现上传照片到物理路径,并且将地址保存到数据库,

    效果: 思路: 首先,获取图片物理地址,然后进行判断将图片保存到文件夹下,再将图片的信息保存到数据库. 数据库: create table image1 ( ID ,) primary key, Im ...

  3. 分布式系统的CAP和BASE理论

    1. 背景 网络分区:俗称“脑裂”.当网络发生异常情况,导致分布式系统中部分节点之间的网络延时不断变大,最终导致组成分布式系统的所有节点中,只有部分节点之间能够进行正常通信,而另一些节点则不能. 当网 ...

  4. vivado error [Labtools 27-2149]

    使用vivado2014.3时遇到了这种错误 ERROR: [Labtools 27-2149] File E:/project/V7_PCIE/prj/PhasedProject/M_PcieGen ...

  5. OSGi规范概要

    目前最新的OSGi规范是2012年7月发布的Release 5,Version5.0(后文简称为R5.0)版本,该规范定义了Java模块化系统所涉及的各种场景(开发.打包.部署.更新和交互等),以及其 ...

  6. HDU 1867 A + B for you again(KMP算法的应用)

    A + B for you again Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. Powershell分支条件

    Where-Object 进行条件判断很方便,如果在判断后执行很多代码可以使用IF-ELSEIF-ELSE语句.语句模板: If(条件满足){如果条件满足就执行代码}Else{如果条件不满足}条件判断 ...

  8. The Definitive Guide To Django 2 学习笔记(七) 第四章 模板 (三)使用模板系统

    接下来,我们开始学习如何使用模板系统,但我们并不和前面说的View相结合,我们的这里的目的是展示模板系统是如何独立于Django框架运行的.下面是在pyhon代码中使用Django模板系统的基础例子: ...

  9. 《Netty in action》目录修复版本分享

    最近阅读了Netty in action一书.深感外国友人的书籍编写能力强大.作者由简入深.精简描述了Netty的相关知识,如何使用等等. 本来想翻译一下的.尝试着翻译了一点之后.发现非常痛苦啊.ps ...

  10. 【原创】jpgraph中文乱码问题的解决

    php jpgraph库非常强大,可以在后台生成图片 后台生成在需要导出图表型报告的时候非常有用,当然,前端的可视化还是要用highcharts/echarts/anycharts等类库 比较麻烦的是 ...