当前位置: 首页 > wzjs >正文

加拿大购物网站排名百度识别图片找图

加拿大购物网站排名,百度识别图片找图,个人网站建设服务器,网站建设合作协议书Elasticsearch提供了基于JSON的DSL(Domain Specific Language)语句来定义查询条件,其JavaAPI就是在组织DSL条件。 1.DSL查询 叶子查询(Leaf query clauses):在特定的字段里查询特定值,属于简单…

Elasticsearch提供了基于JSON的DSL(Domain Specific Language)语句来定义查询条件,其JavaAPI就是在组织DSL条件。

1.DSL查询

  • 叶子查询(Leaf query clauses):在特定的字段里查询特定值,属于简单查询。

  • 复合查询(Compound query clauses):以逻辑方式组合多个叶子查询或者更改叶子查询的行为方式。

 测试:无条件查询match_all

#DSL查询
GET /items/_search
{"query":{"match_all": {}}
}

我们的数量不止10000,但是查询出来的value只有10000,并且数据只显示10条?

Elasticsearch默认超过10000条只显示10000,并且设置了默认分页的查询页数

 

2.叶子查询

叶子查询类型有很多,可以在官网查看全部

Query DSL | Elasticsearch Guide [7.12] | Elastic

  • 全文检索查询(Full Text Queries):利用分词器对用户输入搜索条件先分词,得到词条,然后再利用倒排索引搜索词条。例如:

    • match:单字段

    • multi_match:多字段

  • 精确查询(Term-level queries):不对用户输入搜索条件分词,根据字段内容精确值匹配。但只能查找keyword、数值、日期、boolean类型的字段。例如:

    • ids

    • term:精准匹配

    • range:范围匹配

全文检索查询

1.match

  "query":{
    "match": {
      "字段名": "搜索条件"
    }
  }

#叶子查询match
GET /items/_search
{"query":{"match": {"name": "牛奶"}}
}

 存在一个_score关联度打分,返回结果时按照分值降序排列

 

 2.multi_match

    "multi_match": {
      "query": "搜索条件",
      "fields": ["字段1","字段2"]
    }

字段1和字段2是“或”关系,只需要满足一个即可

#叶子查询multi_match
GET /items/_search
{"query":{"multi_match": {"query": "宾格瑞","fields": ["name","brand"]}}
}

 

精准匹配 

不做分词,只根据输入字段匹配

1.term 

    "term": {
      "字段名": {
        "value": "查询条件"
      }
    }

#精确查询term
GET /items/_search
{"query":{"term": {"brand": {"value": "宾格瑞"}}}
}

2.range 

    "range": {
      "price": {
        "gte/gt": 1000,
        "lte/lt": 2000
      }
    }

查询price 1000-2000

#范围查询查询range
GET /items/_search
{"query":{"range": {"price": {"gte": 1000,"lte": 2000}}}
}

 3.复合查询

复合查询=多个叶子查询

1.算分函数查询

在使用全文检索查询match中返回结果有_score关联度打分,按照分值降序排列,但是日常浏览器搜索中,搜索出来的前几条往往是广告,说明_score关联度打分可控。

function score 查询中包含四部分内容:

  • 原始查询条件:query部分,基于这个条件搜索文档,并且基于原始算法打分,原始算分。

  • 过滤条件:filter部分,符合该条件的文档才会重新算分。

  • 算分函数:符合filter条件的文档要根据这个函数做运算,得到的函数算分,有四种函数

    • weight:函数结果是常量

    • field_value_factor:以文档中的某个字段值作为函数结果

    • random_score:以随机数作为函数结果

    • script_score:自定义算分函数算法

  • 运算模式:算分函数的结果、原始查询的相关性算分,两者之间的运算方式,包括:

    • multiply:相乘

    • replace:用function score替换query score

    • 其它,例如:sum、avg、max、min

GET /hotel/_search
{"query": {"function_score": {"query": {  .... }, // 原始查询,可以是任意条件"functions": [ // 算分函数{"filter": { // 条件过滤"term": {"字段": "过滤条件"}},"weight": 10 // 算分权重为2}],"boost_mode": "multipy" // 加权模式,求乘积}}
}

 2.bool查询

利用逻辑运算来组合一个或多个查询子句的组合,bool查询支持的逻辑运算有:

  • must:必须匹配每个子查询,类似“与”

  • should:选择性匹配子查询,类似“或”

  • must_not:必须不匹配,不参与算分,类似“非”

  • filter:必须匹配,不参与算分

与搜索关键字无关的查询尽量采用must_not或filter逻辑运算,避免参与相关性算分。 

GET /items/_search
{"query": {"bool": {"must": [{"match": {"name": "手机"}}],"should": [{"term": {"brand": { "value": "华为" }}},{"term": {"brand": { "value": "小米" }}}],"must_not": [{"range": {"price": {"gte": 2500}}}],"filter": [{"range": {"price": {"lte": 1000}}}]}}
}

 4.排序

GET /indexName/_search
{"query": {"match_all": {}},"sort": [{"排序字段": {"order": "排序方式asc和desc"}}]
}

5.分页

1.基础分页

elasticsearch中通过修改fromsize参数来控制要返回的分页结果:

  • from:从第几个文档开始

  • size:总共查询几个文档

GET /items/_search
{"query": {"match_all": {}},"from": 0, // 分页开始的位置,默认为0"size": 10,  // 每页文档数量,默认10"sort": [{"price": {"order": "desc"}}]
}

 2.深度分页

在面对数据量比较大时,ELasticsearch会采取分片存储,将数据分成n份,分配到不同的节点上。利于数据的扩展和存储,但是也会存在问题。

我要查找990-1000的数据,从单体结构上,只需要排序然后找前1000名,就可以获得990-1000的数据,但是采取分片存储后,分片1的990-1000是全部数据的990-1000吗,大概率不是。此时,需要找到所有的分片前1000,然后整合到一起,再排序,这样就可以找到总数据的990-1000

那如果我要找9990-10000,是不是就要找到每个分片的前10000名数据在整合排序查找。

查询分页深度较大时,汇总数据过多,对内存和CPU会产生非常大的压力,因此elasticsearch会禁止from+ size 超过10000的请求。

解决深度分页方案:

  • search after:分页时需要排序,原理是从上一次的排序值开始,查询下一页数据。官方推荐使用的方式。

  • scroll:原理将排序后的文档id形成快照,保存下来,基于快照做分页。官方已经不推荐使用。

6.高亮 

在浏览器搜索Elasticsearch,发现所有的Elasticsearch、Elastic样式异于其他内容。

对搜索内容进行分词,对分词字段打上高亮标签<em></em>或<strong></strong>

实现:

GET /{索引库名}/_search
{"query": {"match": {"搜索字段": "搜索关键字"}},"highlight": {"fields": {"高亮字段名称": {"pre_tags": "<em>","post_tags": "</em>"}}}
}

文章转载自:

http://TSNoGkwT.xwzsq.cn
http://JcuwbSj6.xwzsq.cn
http://oZwvWCPI.xwzsq.cn
http://65JTHsMB.xwzsq.cn
http://oBAwynQH.xwzsq.cn
http://5AVSTqG6.xwzsq.cn
http://Kdh4ssvT.xwzsq.cn
http://QwtAIwR8.xwzsq.cn
http://dSBuzG0M.xwzsq.cn
http://8qy31H1X.xwzsq.cn
http://meDHACgK.xwzsq.cn
http://hYE4XguV.xwzsq.cn
http://TKpEgYL6.xwzsq.cn
http://JoGunyGF.xwzsq.cn
http://cPw7UUyJ.xwzsq.cn
http://XXGbFT3f.xwzsq.cn
http://kN3G9R0y.xwzsq.cn
http://rC8GJlnI.xwzsq.cn
http://o1IUg3oG.xwzsq.cn
http://D9GozXt8.xwzsq.cn
http://gH0LOLyx.xwzsq.cn
http://zNrA3xkR.xwzsq.cn
http://dulpiQb1.xwzsq.cn
http://Yx3KXx7t.xwzsq.cn
http://JJYP4qYj.xwzsq.cn
http://LqXVCiCp.xwzsq.cn
http://nyxodsJs.xwzsq.cn
http://Fy4tpTZk.xwzsq.cn
http://Yr6szzwc.xwzsq.cn
http://qO4XcrcU.xwzsq.cn
http://www.dtcms.com/wzjs/669756.html

相关文章:

  • WordPress调用不同主题seo人员要先对网站进行诊断
  • 广州 建网站创意网红
  • 机构组织网站建设佛山网络公司哪家便宜
  • vs 2008 建立网站自己建立公司网站的步骤
  • 西安网站搭建公司代理注册公司需要什么资料
  • 湖北智能网站建设制作浙江省城乡住房建设网站
  • 怎么制作网站域名广东建设业协会网站
  • 网站的功能和作用网站硬件需求
  • 模拟建设官方网站网站建设与开发 教材
  • 站长之家关键词挖掘网页设计期末作业源码
  • 用织梦做的企业网站做猎头可以在哪些网站注册
  • 西安城乡住房建设厅网站如何获取网站访客qq
  • 玉林博白网站建设文章列表插件wordpress
  • 郑州网站的优化久久建筑网平台
  • 南昌专业做网站公司企业网站建设和实现 论文
  • 网站建设与运营的公司百度开发者搜索
  • 怎样做网站检索数据分析北京软件开发学校
  • 地税局网站建设情况汇报seo网站关键词优化费用
  • 电子商务网站建设的步骤一般为(天津原筑展览展示有限公司
  • 有没有做旅游攻略的网站做网站赚钱难
  • 网站诊断与检测江苏海宏建设工程有限公司网站
  • 网站设计厂宁夏做网站
  • 做网站app怎么赚钱吗正规百度推广
  • 网站开发公共文件网站建设与规划的文献
  • 阳江做网站公司深圳app网站建设哪家好
  • 四川建设厅网上查询网站拼多多网站分析
  • 英文公司网站设计宝安品牌网站制作
  • 淘宝是什么语言做的网站战略网页游戏开服表
  • 个人网站 建站dede网站5.7广告去除
  • 上海网络平台网站建设荣成市建设局网站是什么