云顶娱乐手机网址 当前位置:首页>云顶娱乐手机网址>正文

云顶娱乐手机网址

发布时间:2019-03-24

原标题:ElasticSearch 学习记录之ES短语匹配基本用法

如遇【线上娱乐站】不能自动打开,请复制 http://da8.us 到浏览器,注册自动送8-88试 ̶̶̶̶̶̶̶̶̶̶玩 ̷̷̷̷̷̷̷̷̷̷金。体验各种类的线上PT/DT/MG/PNG ̶̶̶̶̶̶̶̶̶̶老 ̷̷̷̷̷̷̷̷̷̷虎 ̷̷̷̷̷̷̷̷̷̷机、 ̷̷̷̷̷̷̷̷̷̷真* ̷̷̷̷̷̷̷̷̷̷人* ̶̶̶̶̶̶̶̶̶̶百* ̶̶̶̶̶̶̶̶̶̶家 ̷̷̷̷̷̷̷̷̷̷*乐*游戏等免费试玩、优惠活动,7*24小时专业服务

安禄山的迎亲队伍已经到了定州望都县,为了迎接杨贵妃,安禄山布置了声势浩大的排场,他甚至动用了龙辇,这是他几年前便做好,藏在仓库里,现在它公开出现了,五百名侍卫抬着巨大的龙辇,前面有八百大汉手执旗幡列队而行,大旗招展,显得气势磅礴。

澳门新濠天地_澳门新濠天地线上_澳门新濠天地线上网址

何必如此兴师动众的将他们叫来呢?要知道,这里面可有从大陆两端过来的,行程超过三十天。
写完信,他读了一遍,觉得有些不妥。便将信撕碎,随手揉成一团扔掉了,又重新取一张信纸写道:“孤闻碎叶大胜,心中不胜欢欣,君率三军,威加西域,乃天朝之柱梁也,孤当请圣上批准,准你挟碎叶余威,霹雳西行,将天可汗之威名及仁义,泽被西域万里......’

只不过就在两人才刚睡下就没多久一道人影就骤然在玻璃窗之外闪过,旋即一声请轻微的落水声传入了刘皓和孔雀舞的耳中,打破了他们宁静……

短语匹配

短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配
下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点

GET /my_index/my_type/_search
{
    "query": {
        "match_phrase": {
            "title": "quick brown fox"
        }
    }
}
//查询分词之后连续的
//例如  brown fox 可以查询到,但是quick fox 查询不到
//也可以使用下面的方式,这两种方式是相同的,只不过写法不同而已

POST /product/_search
{
  "query": {
    "match": {
      "name":{
        "query": "1130 对接",
        "type": "phrase"
      }
    }
  }
}

根据上面的我们对短语匹配有些总结

  1. quick 、 brown 和 fox 需要全部出现在域中
  2. brown 的位置应该比 quick 的位置大 1
  3. fox 的位置应该比 quick 的位置大 2
  4. 上面任何一个选项不成立,则该文档不能认定为匹配

对 短语查询进行一些优化
通过加入slop参数,可以灵活的控制短语查询的,
slop 参数告诉 match_phrase 查询词条相隔多远时仍然能将文档视为匹配

POST product/_search
{
  "query": {
    "match_phrase": {
      "name": {
        "query": "1130 对接 测试",
        "slop" : 10
      }
    }
  }
}

越近越好,当我们给一个短语查询设置了很高的额slop时,就像下面这样

POST product/_search
{
  "query": {
    "match_phrase": {
      "name": {
        "query": " 上海 自由行",
        "slop" : 100
      }
    }
  }
}
//但是虽然我们给了很高的slop值,我们可以根据返回的score分数值来进行判断几个字段是否更加的临近。
部分匹配
  • prefix 前缀查询
    前缀查询,就是将一个词从头开始查。 例如某个数据是上海一日游 可利用前缀查询查询 上海

    POST /product/_search
    {
      "query": {
        "prefix": {
          "departureCitys": {
            "value": "上"
          }
        }·
      }
    }

prefix 前缀查询,不会在搜索的时候分析字符串,它假定传入的字符串就是正要查询的前缀
默认状态下, prefix 查询不做相关度评分计算,它只是将所有匹配的文档返回,并为每条结果赋予评分值 1

  • 前缀搜索的步骤
    1. 扫描词列表,并查找第一个关键词
    2. 收集关联的文档id
    3. 移动到下一个词。
    4. 如果这个词也是以 关键字开头,查询跳回到第二步再重复执行,直到下一个词不以关键字 为止。
Elasticsearch - 理解字段分析过程(_analyze与_explain)
  • _explain 用来帮助分析文档的relevance score是如何计算出来
    1. GET /product/_analyze?text="自由行", 使用默认的额analyze来分析自由行
    2. 指定的analyzer来分析 例如 GET /product/_analyze ?analyzer=pinyin_analyzer&text=" 自由行"
    3. 指定field的analyzer来分析 GET /product/_analyze?field=base.name&text=" 自由行"
  • _analyze用来分析每一个field或者某个analyzer/tokenizer是如何分析和索引一段文字
    1. 使用_explain向ElasticSearch询问庆于该文档是如何匹配(或者没有匹配上)的解释信息
    2. POST /product/_search
      {
       "explain": true, 
       "size": 1, 
       "query": {
          "match": {
            "name": "三亚"
          }
       }
      }
查询时输入即搜索

match_phrase_prefix 查询, 短语查询和前缀查询的组合

GET /product/_search
{
  "query": {
    "match_phrase_prefix": {
      "name": {
        "query": "上  海",
        "slop" : 20,
        "max_expansions": 50
      }
    }
  }
}

slop 来使整个词序位置不是那么的严格
参数 max_expansions 控制着可以与前缀匹配的词的数量

Elasticsearch进行search查询的过程中,出现了Result window is too large错误
- ES默认窗口10000。可以用修改index.max_result_window参数来解决问题
- curl -XPUT http://127.0.0.1:9200/product/_settings -d "{ "index" : { "max_result_window" : 100000}}"

编辑:成乙董丁

发布时间:2019-03-24 02:12:58

当前文章://icpba.html

澳门新濠天地官网网址 澳门永利平台网址 - 最受欢迎官网app 澳门永利-娱乐场老品牌 宝运莱娱乐|官网 

责任编辑:建建

随机推荐