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

有服务器有域名如何做网站湖南长沙网站建设公司电话

有服务器有域名如何做网站,湖南长沙网站建设公司电话,百度宣传推广费用,好的公司网站有什么用正排索引 和 倒排索引 正排索引:通过id ,查询content 倒排索引:通过content,查询到符合的 ids eg: 正排索引就是通过《静夜思》,找到整片文章。 倒排索引通过“明月”,找到《静夜思》 《望…

正排索引 和 倒排索引

正排索引:通过id ,查询content

倒排索引:通过content,查询到符合的 ids

eg:

正排索引就是通过《静夜思》,找到整片文章。

倒排索引通过“明月”,找到《静夜思》 《望月怀古》《关山月》等

get 查询

索引的基本信息:

GET your_index/_mapping  //跟看mysql表字段差不多
GET your_index/_alias  //查看索引的别名
GET /_cat/health?v  //查看集群状态
GET _cat/indices // 查看所有index
GET _cat/shards/your_index  //查看指定索引的分片数,每个分片有主(p)副(r)分片

查询索引内容:

match_all


GET /you_index/_search
{"query":{"match_all": {}
}

bool 

bool查询是一个非常强大且常用的复合查询,它允许你组合多个查询条件。bool 查询的核心概念包括以下四种子句:

  1. must: 子句必须匹配文档。类似于 SQL 中的 AND 操作符。
  2. filter: 子句必须匹配文档,但不影响评分。也就是说,它只过滤文档,但不参与评分计算。
  3. should: 子句可以匹配文档。如果在一个 bool 查询中包含了多个 should 子句,则至少一个 should 子句必须匹配文档。类似于 SQL 中的 OR 操作符。
  4. must_not: 子句不能匹配文档。类似于 SQL 中的 NOT 操作符。

eg: 

GET you_index/_search
{"query": {"bool": {"must": [{"bool": {"should": [{"term": {"name": {"value": "林俊凯","boost": 1}}},{"term": {"zh_name": {"value": "林俊凯","boost": 1}}}]}},{"bool": {"should": [{"range": {"fans_num": {"gte": "800"}}},{"terms": {"tag": [1010,1013]}}]}}]}},"sort": {"_score": {"order": "desc"},"score": {"order": "desc"}}
}

range

    "range": {"fans_num": {"gte": 800,"lte":126334}}

gte:大于等于;lte小于等于

term 

 不分词,精准完全匹配查询

GET your_index_search/_search
{"query": {"term": {"name": {"value": "天空"}}}
}

terms

不分词,命中数组一个即可,不要求全部命中

GET your_index_search/_search
{"query": {"terms": {"tag": ["美食","购物"]}}
}

prefix

前缀匹配,不分词 ,精准匹配前半部分

GET your_index_search/_search
{"query": {"prefix": {"name_full": {"value": "林俊"}}}
}

林俊凯,林俊xxx都会命中

multi_match

会对query词进行分词

GET your_index_search/_search
{"query": {"bool": {"must": [{"multi_match": {"query": "北京景点","fields": ["name","name_full", "name_lower"],"analyzer":"ik","minimum_should_match":"3<80%"}}]}}
}

这里的 "minimum_should_match": "3<80%" 指定了如下规则:

  • 如果分词数量小于或等于 3,则必须匹配所有分词。

  • 如果分词数量大于 3,则至少匹配 80% 的分词。

这里的“analyzer”,是分词器,常见的有ik ik-smart  standard mla 

GET _analyze
{"analyzer":"mla","text":"北京景点"
}//结果为
{"tokens": [{"token": "北京","start_offset": 0,"end_offset": 2,"type": "CN_WORD","position": 0},{"token": "景点","start_offset": 2,"end_offset": 4,"type": "CN_WORD","position": 1}]
}

eg:“北京景点”分词为【北京,景点】,分词项为2,小于3,那么【北京】和【景点】需要在field中匹配到。multi_match 查询的目的是在多个字段中搜索查询词中的词语,并且匹配规则会跨字段应用,比如 【北京】在name匹配到,【景点】在name_lower配到到,即匹配成功。

multi_phrase

会对query词进行分词(有的人会认为不会分词,❌),match_phrase要求严格,不仅要求,要能够匹配到分词后的所有单词,且分词后的单词顺序也要和命中结果中的顺序保持一致。

GET your_index_search/_search
{"query": {"bool": {"must": [{"match_phrase": {"name": "北京"}}]}}
}

name = “北京”能找到,“北 京” 或者“京北” 就找不到

可以设置slop,最大间隔,默认是0

match

会分词,没有multi_phrase那么严格,match要求不高,只要匹配到分词后的任意一个单词,就算查到结果 。

为什么match能找到,term查询不到呢?

首先,要看创建索引的时候mapping ,字段的类型。如果是type是keyword,不允许分词。

其次,查看字段类型发现是text,term查询的字段类型只能是keyword

"keyword_full": {"type": "text","fields": {"keyword": {"type": "keyword"}}}, 

http://www.yayakq.cn/news/241694/

相关文章:

  • 公司网站域名怎么注册百度网址安全中心怎么关闭
  • 外贸建站模版域名怎么卖
  • 做gif动图的网站犯法吗中国建设之乡是哪里
  • 做网站欢迎页什么意思双语网站后台怎么做
  • 潘多拉固件建设网站电子产品展示网站模板
  • 寻找集团网站建设杭州网页设计工作室
  • idea 做网站登录依波手表价格 官方网站
  • 苏州企业做网站h5响应式网站建设
  • 深圳坑梓网站建设公司深圳市招投标信息网
  • 网站icp备案信息查询哪个网站可以做室内设计
  • 建大型网站公司wordpress添加统计
  • 园林建设网站东莞著名网站建设企业
  • 南平购物网站开发设计常德百竞seo
  • 新化 网站开发做订餐网站数据库应该有哪些表
  • 网站建设及第三方支付视觉营销的网站设计
  • 一元购物网站开发移动互联网应用的使用情况
  • 网站建设 福步 2018wordpress怎么给分类标签写标题
  • 手机管理网站模板下载安装seo站内优化技巧
  • 深圳哪个招聘网站好产品设计公司推荐
  • 龙岗高端网站设计专家有哪些vue做的网站
  • 最早做淘宝客的网站管理的核心是什么
  • 营销型网站托管坦克大战网站开发课程设计报告
  • 手表怎么在网站做推广提高工作效率图片
  • 网站建设的分析修改WordPress上传图片时间
  • 正规排名网站推广公司怎么修改网页上的内容
  • 成立网站要多少钱营销传播方式有哪些
  • 苏州网站建设2万起wordpress百家号主题
  • 织梦网站怎样做百度主动推送宣传片制作公司前景
  • 有哪些网站可以做图片打赏网站开发PHP程序员招聘
  • 零用贷网站如何做企业官网的运营模式