映射
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. 解决错误: ios property has a previous declaration

    今天维护一个项目的时候,我新添加了一个库,运行的时候报错了: ios property has a previous declaration 上网查了一下没有找到思路,不过根据提示自己试了一下,原来这 ...

  2. RabbitMQ系列一

    1.http://www.erlang.org/downloads 下载一个比教新的版本(otp_win64_20.2.exe) 2.http://www.rabbitmq.com/install-w ...

  3. logback.xml

    <?xml version="1.0" encoding="UTF-8" ?> <configuration> <!-- 日志存放 ...

  4. regcomp/regexec/regfree--POSIX regex functions

    语法 #include <sys/types.h> #include <regex.h> int regcomp(regex_t *preg, const char *rege ...

  5. Linux 下使用静态google protocl buffer

    在Linux上编译google protobuff时,configure 默认选项是生成动态库,即libprotobuf.so文件.如果同时在多个动态库(动态库以dlopen方式动态加载)中使用同一b ...

  6. 01 SQL核心语句

    在 sqlplus 中可以使用 ; 或 / 来执行一条 sql 语句, 但是 / 必须要换行, 个人感觉只有那些脚本啊什么的最后一般使用 / , 其他的都使用; 核心语句 SELECT oracle  ...

  7. COCOS2D-HTML5 开发之二】cocos2d-html5项目定义成员,局部变量,函数笔记随笔

    本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos2d- ...

  8. Tomcat nginx log日志按天分割切割

    利用 Linux 自带的 logrotate 工具来实现按天切割日志.下方已 centos 7 系统为例来实践讲解. 原理 Logrotate是基于CRON来运行的,其脚本是/etc/cron.dai ...

  9. 【BZOJ】1632: [Usaco2007 Feb]Lilypad Pond(bfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1632 我简直是个sb... ... bfs都不会写.. 算方案还用2个bfs! 都不会整合到一个! ...

  10. jni调用 java.lang.UnsatisfiedLinkError: no segmentor_jni in java.library.path

    改过 LD_LIBRARY_PATH 改过 /etc/ld.so.conf 参考这篇文章 http://blog.csdn.net/zjuylok/article/details/4152559 最后 ...