文章目录

这个用来对昂贵的操作做评估使用,不会执行相应的搜索

PUT twitter/_bulk?refresh
{"index":{"_id":1}}
{"user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch"}
{"index":{"_id":2}}
{"user" : "kimchi", "post_date" : "2009-11-15T14:12:13", "message" : "My username is similar to @kimchy!"}
GET twitter/_validate/query?q=user:foo返回
{"valid":true,"_shards":{"total":1,"successful":1,"failed":0}}

可以携带的参数
1.df: default field在没有明确说明针对哪个field的时候使用的field
2.analyzer:使用的analyzer
3.default_operator: 使用的逻辑运算符默认是or
4.lenient: 宽容,默认为false,设置为true的话如果格式不正确的话会报错
5.analyze_wildcard: 对通配符查询或者前缀查询进行分词

GET twitter/_validate/query
{"query" : {"bool" : {"must" : {"query_string" : {"query" : "*:*"}},"filter" : {"term" : { "user" : "kimchy" }}}}
}

如果是验证失败

GET twitter/_validate/query
{"query": {"query_string": {"query": "post_date:foo","lenient": false}}
}{"valid":false,"_shards":{"total":1,"successful":1,"failed":0}}

可以加一个explain来看看原因

GET twitter/_validate/query?explain=true
{"query": {"query_string": {"query": "post_date:foo","lenient": false}}
}

返回

{"valid" : false,"_shards" : {"total" : 1,"successful" : 1,"failed" : 0},"explanations" : [ {"index" : "twitter","valid" : false,"error" : "twitter/IAEc2nIXSSunQA_suI0MLw] QueryShardException[failed to create query:...failed to parse date field [foo]"} ]
}

还可以加一个rewrite参数来看到lucene层面的原因

GET twitter/_validate/query?rewrite=true
{"query": {"more_like_this": {"like": {"_id": "2"},"boost_terms": 1}}
}{"valid": true,"_shards": {"total": 1,"successful": 1,"failed": 0},"explanations": [{"index": "twitter","valid": true,"explanation": "((user:terminator^3.71334 plot:future^2.763601 plot:human^2.8415773 plot:sarah^3.4193945 plot:kyle^3.8244398 plot:cyborg^3.9177752 plot:connor^4.040236 plot:reese^4.7133346 ... )~6) -ConstantScore(_id:2)) #(ConstantScore(_type:_doc))^0.0"}]
}

16.validate_api相关推荐

  1. 实现手机来电铃声,通知铃声、警告铃声等音频定制化功能(三,多媒体扫描结果定制处理)

    本篇博文主要是对MediaScanner中endFile方法的处理流程上的重构,以实现需求中的资源区域化定制.处理思路为首先扫描定制分区中的资源,在扫描系统分区下默认资源时判断定制分区西下是否已经存在 ...

  2. sqlserver错误码

    错误 6,000 到 6,999 错误 严重性 是否记录事件 说明 6001 10 否 SHUTDOWN 正在等待 %d 个进程完成. 6004 10 否 用户没有执行此操作的权限. 6005 10 ...

  3. Go 1.16 的这个新变化需要适应下:go get 和 go install 的变化

    原文地址: Go 1.16 的这个新变化需要适应下:go get 和 go install 的变化 一直以来,go get 用于下载并安装 Go 包.命令等,而 go install 在 module ...

  4. Ubuntu 16.04 安装后修改屏幕分辨率(xrandr: Failed to get size of gamma for output default)

    ubuntu 16.04 安装后分辨率只有一个选项 1024x768,使用 xrandr 命令出现错误: xrandr: Failed to get size of gamma for output ...

  5. Ubuntu 16.04 安装 Docker - Dependency failed for Docker Application Container

    Docker 安装 由于 apt 官方库里的 Docker 版本可能比较旧,所以先卸载可能存在的旧版本: sudo apt-get remove docker docker-engine docker ...

  6. java 16进制与图片互转

    十六进制转成图片 /*** 十六进制转成图片* @author Administrator**/public static void saveToImgFile(String src,String o ...

  7. 【CV】吴恩达机器学习课程笔记第16章

    本系列文章如果没有特殊说明,正文内容均解释的是文字上方的图片 机器学习 | Coursera 吴恩达机器学习系列课程_bilibili 目录 16 推荐系统 16-1 问题规划 16-2 基于内容的推 ...

  8. python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法

    python 16进制转10 进制, 8进制转10进制, 2进制转10进制 可以使用系统自带的 int 方法 具体如下: value = "0x1388" result = int ...

  9. java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode

    问题出现在在定义一些常量的时候 这个定义的数据不要超过16  ,这个问题就是定义超过了 16 , 用16进制的最好.

最新文章

  1. 面部识别技术走到十字路口?
  2. java开发必背API
  3. P1141 01迷宫(BFS+记忆化)
  4. Apache Tomcat Configuration Reference
  5. vmware智能资源调整
  6. RS485接口电磁兼容设计方案
  7. CCF202012-1 期末预测之安全指数
  8. java位运算(、|、 ~、、 、 ^)
  9. 来,膜拜下android roadmap,强大的执行力
  10. [蓝桥杯]试题 基础练习 FJ的字符串
  11. Fingersmith---指匠情挑
  12. Python: pipenv包管理、虚拟环境创建、autopep8、flask安装及初试
  13. oracle合并列的函数wm_concat
  14. boost入门(一):boost简介
  15. FPGA数码管显示自动计数+按键计数+蜂鸣器
  16. 大数据之clickhouse安装部署
  17. MySQL取离当前时间最近的记录
  18. 什么软件打印二维码和条形码?
  19. Excel表数据很少,内存占用很大
  20. 在64位计算机上安装MapGuide Studio 2010

热门文章

  1. 用C++面向对象的方式动态加载so
  2. cocos2d-x游戏开发(七)对象释放时机
  3. 关于 ADB 实现的说明
  4. 深入浅出 Linux 惊群:现象、原因和解决方案
  5. Java虚拟线程:一种低成本、轻量级、用户态的Java线程
  6. 必备快速定位排查问题命令
  7. Go 程序是怎样跑起来的
  8. C++版二叉树非递归遍历
  9. 畅享音视频技术饕餮盛宴,就在LiveVideoStackCon 上海站
  10. Zoe Liu:被Chrome Media团队的专注精神感染