首页 > 其他分享 >52_初识搜索引擎_上机动手实战如何定位不合法的搜索以及其原因

52_初识搜索引擎_上机动手实战如何定位不合法的搜索以及其原因

时间:2024-10-02 13:04:26浏览次数:6  
标签:index 上机 52 初识 搜索 test query type valid

GET /test_index/test_type/_validate/query?explain
{
"query": {
"math": {
"test_field": "test"
}
}
}

{
"valid": false,
"error": "org.elasticsearch.common.ParsingException: no [query] registered for [math]"
}

GET /test_index/test_type/_validate/query?explain
{
"query": {
"match": {
"test_field": "test"
}
}
}

{
"valid": true,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"explanations": [
{
"index": "test_index",
"valid": true,
"explanation": "+test_field:test #(#_type:test_type)"
}
]
}

一般用在那种特别复杂庞大的搜索下,比如你一下子写了上百行的搜索,这个时候可以先用validate api去验证一下,搜索是否合法

标签:index,上机,52,初识,搜索,test,query,type,valid
From: https://www.cnblogs.com/siben/p/18444575

相关文章

  • 55_初识搜索引擎_相关度评分TF&IDF算法独家解密
    课程大纲1、算法介绍relevancescore算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度Elasticsearch使用的是termfrequency/inversedocumentfrequency算法,简称为TF/IDF算法Termfrequency:搜索文本中的各个词条在field文本中出现了多少次,出现次数......
  • 54_初识搜索引擎_解密如何将一个field索引两次来解决字符串排序问题
    如果对一个stringfield进行排序,结果往往不准确,因为分词后是多个单词,再排序就不是我们想要的结果了通常解决方案是,将一个stringfield建立两次索引,一个分词,用来进行搜索;一个不分词,用来进行排序PUT/website{"mappings":{"article":{"properties":{"title":{"type":"t......
  • 56_初识搜索引擎_内核级知识点之doc value初步探秘
    搜索的时候,要依靠倒排索引;排序的时候,需要依靠正排索引,看到每个document的每个field,然后进行排序,所谓的正排索引,其实就是docvalues在建立索引的时候,一方面会建立倒排索引,以供搜索用;一方面会建立正排索引,也就是docvalues,以供排序,聚合,过滤等操作使用docvalues是被保存在磁盘上的......
  • 60_初识搜索引擎_上机动手实战基于scoll技术滚动搜索大量数据
    如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以此类推,直到搜索出全部的数据来scoll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只......
  • 59_初识搜索引擎_搜索相关参数梳理以及bouncing results问题解决方案
    1、preference决定了哪些shard会被用来执行搜索操作_primary,_primary_first,_local,_only_node:xyz,_prefer_node:xyz,_shards:2,3bouncingresults问题,两个document排序,field值相同;不同的shard上,可能排序不同;每次请求轮询打到不同的replicashard上;每次页面上看到的搜索......
  • 62_索引管理_快速上机动手实战修改分词器以及定制自己的分词器
    1、默认的分词器standardstandardtokenizer:以单词边界进行切分standardtokenfilter:什么都不做lowercasetokenfilter:将所有字母转换为小写stoptokenfiler(默认被禁用):移除停用词,比如atheit等等2、修改分词器的设置启用english停用词tokenfilterPUT/my_index{"se......
  • 61_索引管理_快速上机动手实战创建、修改以及删除索引
    1、为什么我们要手动创建索引?2、创建索引创建索引的语法PUT/my_index{"settings":{...anysettings...},"mappings":{"type_one":{...anymappings...},"type_two":{...anymappings...},...}}创建索引的示例PUT/my_index{"se......
  • 36_初识搜索引擎_分页搜索以及deep paging性能问题深度图解揭秘
    课程大纲1、讲解如何使用es进行分页搜索的语法size,fromGET/_search?size=10GET/_search?size=10&from=0GET/_search?size=10&from=20分页的上机实验GET/test_index/test_type/_search"hits":{"total":9,"max_score":1,我们假设将这9条数据分成3页,每一页是3条数......
  • 38_初识搜索引擎_用一个例子告诉你mapping到底是什么
    插入几条数据,让es自动为我们建立一个索引PUT/website/article/1{"post_date":"2017-01-01","title":"myfirstarticle","content":"thisismyfirstarticleinthiswebsite","author_id":11400}PUT/w......
  • 37_初识搜索引擎_快速掌握query string search语法以及_all metadata原理揭秘
    1、querystring基础语法GET/test_index/test_type/_search?q=test_field:testGET/test_index/test_type/_search?q=+test_field:testGET/test_index/test_type/_search?q=-test_field:test一个是掌握q=field:searchcontent的语法,还有一个是掌握+和-的含义2、_allmetada......