Elasticsearch版本为6.3.0,其他版本可能不兼容,抱歉!

基本匹配查询

  • 这里有一个基本匹配查询,要在所有字段中查询字符串“李四”:
    URL:GET chzhao/person/_search?q=李四
    解释:q=条件
    结果:
{"took": 17,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.5753642,"hits": [{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 0.5753642,"_source": {"name": "李四","desc": "Python工程师"}}]}
}
  • 模糊匹配
    URL:POST /chzhao/person/_search
    参数:
{"query": {"match" : {"desc" : "in Python"}},"size": 2,"from": 0,"_source": ["name","desc"],"highlight": {"fields" : {"name" : {}}}
}

结果:

{"took": 5,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.2876821,"hits": [{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 0.2876821,"_source": {"name": "李四","desc": "Python工程师"}}]}
}
  • 多字段查询
    URL:POST /chzhao/person/_search
    参数:
{"query": {"multi_match" : {"query":"Python","fields":["name","desc"]}}
}

结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.2876821,"hits": [{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 0.2876821,"_source": {"name": "李四","desc": "Python工程师"}}]}
}
  • 提高分值
    URL:POST /chzhao/person/_search
    解释:既然我们正在进行跨多字段的查询,也许想要对某个特定字段提高一些分值。在下面的人为例子中,我们将desc字段的分值提高2倍。提高分值不仅仅意味着计算得分被增长因子成倍的增加了,实际上提高分值的价值更在于通过它进行规范化和一些内部的优化。关于提高分值如何工作可以近一步参考Elasticsearch指南。
    参数:
{"query": {"multi_match" : {"query":"工程","fields":["name","desc^2"]}}
}

结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 3,"max_score": 0.5753642,"hits": [{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 0.5753642,"_source": {"name": "李四","desc": "Python工程师"}},{"_index": "chzhao","_type": "person","_id": "1","_score": 0.5753642,"_source": {"name": "王五","desc": "运维工程师"}},{"_index": "chzhao","_type": "person","_id": "CHE6g2QBJFDJAXuokGBo","_score": 0.5753642,"_source": {"name": "赵六","desc": "PHP工程师"}}]}
}
  • 布尔查询

URL:POST /chzhao/person/_search
解释:为了获取更多相关且具体的结果,可以用AND/OR/NOT操作符来调整我们的搜索查询请求,在搜索API中则是用布尔查询来实施。布尔查询接收一个must参数(等价于AND)、一个must_not参数(等价于NOT)和一个should参数(等价于OR)。举个例子,比如我想查找一本书,书名里有“Elasticsearch”或“Solr”,且由“clinton gormley”所写,而非“radu gheorge”所写
参数:

{"query": {"bool": {"must": {"bool" : { "should": [ { "match": { "desc": "工程师" }}, { "match": { "name": "赵六" }} ] }},"must_not": { "match": {"name": "赵六" }}}}
}
  • 模糊查询
    URL:POST /chzhao/person/_search
    参数:
{"query": {"multi_match" : {"query" : "王","fields": ["name", "desc"],"fuzziness": "AUTO"}}
}

结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.2876821,"hits": [{"_index": "chzhao","_type": "person","_id": "1","_score": 0.2876821,"_source": {"name": "王五","desc": "运维工程师"}}]}
}
  • 通配符查询
    解释:通配符查询允许你指定匹配的模式,而不是整个术语。? 匹配任何字符,*匹配零个或多个字符。
    URL:POST /chzhao/person/_search
    参数:
{"query": {"wildcard" : {"desc" : "*p*"}},"_source": ["name", "desc"],"highlight": {"fields" : {"name" : {}}}
}

结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 1,"hits": [{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 1,"_source": {"name": "李四","desc": "Python工程师"}}]}
}
  • 正则表达式查询
    URL:POST /chzhao/person/_search
    解释:ElasticSearch还支持正则表达式查询,此方式提供了比通配符查询更加复杂的模式。
    参数:
{"query": {"regexp" : {"desc" : "p[a-z]*n"}},"_source": ["name", "desc"],"highlight": {"fields" : {"name" : {}}}
}

结果:

{"took": 4,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 1,"hits": [{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 1,"_source": {"name": "李四","desc": "Python工程师"}}]}
}
  • 整句查询
    URL:POST /chzhao/person/_search
    解释:整句查询要求在请求字符串中的所有查询项必须都在文档中存在,文中顺序也得和请求字符串一致,且彼此相连。
    参数:
{"query": {"multi_match" : {"query": "Clint 最终对 Elasticsearch 的成功起到了重要作用。","fields": ["name", "desc"]}},"_source": [ "name", "desc" ]
}

结果:

{"took": 8,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 8.647883,"hits": [{"_index": "chzhao","_type": "person","_id": "CXFtg2QBJFDJAXuorGC3","_score": 8.647883,"_source": {"name": "Zach","desc": "我仍然清晰地记得那个日子,我发布了这个开源项目第一个版本并在 IRC 聊天室创建一个频道,在那个最紧张的时刻,独自一人,急切地希望和盼望着第一个用户的到来。第一个跳进 IRC 频道的用户就是 Clint(克林顿),当时我好兴奋。好吧… 过了一会直到我发现 Clint 实际上是 Perl 用户啦,还是跟死亡讣告网站打交道。 我记得(当时)问自己为什么他不是来自于更“主流”的社区,像 Ruby 或 Python,亦或是一个稍微好点的使用案例。我真是大错特错!Clint 最终对 Elasticsearch 的成功起到了重要作用。他是第一个把 Elasticsearch 扔到生产环境中的人(还是 0.4 的版本!),初期与 Clint 的互动对于塑造 Elasticsearch 成今天的样子非常关键。对于什么是简单,Clint 有独特的见解并且他很少出错,这对 Elasticsearch 从管理、API 设计和日常使用等各个方面的易用性上面产生了很大的影响。 所以我们公司成立后不久,我们想也没想立即就联系 Clint 问他是否愿意加入我们。当我们成立公司时,我们做的第一件事就是提供公开培训。很难表达我们当时有多么紧张和担心是否真的有人会报名。但我们错了。培训到现在依然很成功,很多主要城市都还有大量的人等待参加。参加培训的人之中,有一个年轻的家伙吸引了我们注意,他的名字叫 Zach。 我们知道他有很多关于 Elasticsearch 的博客(并暗自嫉妒他用非常简单的方式来阐述复杂概念的能力),他还编写了一个 PHP 的客户端。 然后我们发现 Zach 他还是自掏腰包来参加我们的培训!你真的不能要求更多,于是我们找到 Zach,问他是否愿意加入我们的公司。Clint 和 Zach 是 Elasticsearch 能否成功的关键。他们是完美的解说家,从简单的上层应用到复杂的(Apache Lucene 的)底层逻辑。在 Elastic 这里我们非常珍惜这种独特技能。 Clint 还负责 Elasticsearch Perl 客户端,而 Zach 则负责 PHP,都是精彩的代码。最后,两位在 Elasticsearch 项目每天都在发生的大多数事情中也扮演着重要的角色。Elasticsearch 如此受欢迎的主要原因之一就是拥有与用户沟通产生共鸣的能力,Clint 和 Zach 都是这个集体的一份子,这让一切成为可能。"}}]}
}
  • 请求字符串
    URL:POST /chzhao/person/_search
    解释:请求字符串类型(query_string)的查询提供了一个方法,用简洁的简写语法来执行多匹配查询、布尔查询、提权查询、模糊查询、通配符查询、正则查询和范围查询。
    参数:
{    "query": {"query_string" : {"query": "(我发布了这个开源项目~1 Python~1) AND (Zach)  OR (张三)","fields": ["_all", "desc^2"]}},"_source": [ "name", "desc" ]
}

结果:

{"took": 20,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 3.1330857,"hits": [{"_index": "chzhao","_type": "person","_id": "CXFtg2QBJFDJAXuorGC3","_score": 3.1330857,"_source": {"name": "Zach","desc": "我仍然清晰地记得那个日子,我发布了这个开源项目第一个版本并在 IRC 聊天室创建一个频道,在那个最紧张的时刻,独自一人,急切地希望和盼望着第一个用户的到来。第一个跳进 IRC 频道的用户就是 Clint(克林顿),当时我好兴奋。好吧… 过了一会直到我发现 Clint 实际上是 Perl 用户啦,还是跟死亡讣告网站打交道。 我记得(当时)问自己为什么他不是来自于更“主流”的社区,像 Ruby 或 Python,亦或是一个稍微好点的使用案例。我真是大错特错!Clint 最终对 Elasticsearch 的成功起到了重要作用。他是第一个把 Elasticsearch 扔到生产环境中的人(还是 0.4 的版本!),初期与 Clint 的互动对于塑造 Elasticsearch 成今天的样子非常关键。对于什么是简单,Clint 有独特的见解并且他很少出错,这对 Elasticsearch 从管理、API 设计和日常使用等各个方面的易用性上面产生了很大的影响。 所以我们公司成立后不久,我们想也没想立即就联系 Clint 问他是否愿意加入我们。当我们成立公司时,我们做的第一件事就是提供公开培训。很难表达我们当时有多么紧张和担心是否真的有人会报名。但我们错了。培训到现在依然很成功,很多主要城市都还有大量的人等待参加。参加培训的人之中,有一个年轻的家伙吸引了我们注意,他的名字叫 Zach。 我们知道他有很多关于 Elasticsearch 的博客(并暗自嫉妒他用非常简单的方式来阐述复杂概念的能力),他还编写了一个 PHP 的客户端。 然后我们发现 Zach 他还是自掏腰包来参加我们的培训!你真的不能要求更多,于是我们找到 Zach,问他是否愿意加入我们的公司。Clint 和 Zach 是 Elasticsearch 能否成功的关键。他们是完美的解说家,从简单的上层应用到复杂的(Apache Lucene 的)底层逻辑。在 Elastic 这里我们非常珍惜这种独特技能。 Clint 还负责 Elasticsearch Perl 客户端,而 Zach 则负责 PHP,都是精彩的代码。最后,两位在 Elasticsearch 项目每天都在发生的大多数事情中也扮演着重要的角色。Elasticsearch 如此受欢迎的主要原因之一就是拥有与用户沟通产生共鸣的能力,Clint 和 Zach 都是这个集体的一份子,这让一切成为可能。"},"highlight": {"desc": ["我记得(当时)问自己为什么他不是来自于更“主流”的社区,像 Ruby 或 <em>Python</em>,亦或是一个稍微好点的使用案例。我真是大错特错!","参加培训的人之中,有一个年轻的家伙吸引了我们注意,他的名字叫 <em>Zach</em>。","然后我们发现 <em>Zach</em> 他还是自掏腰包来参加我们的培训!你真的不能要求更多,于是我们找到 <em>Zach</em>,问他是否愿意加入我们的公司。","Clint 还负责 Elasticsearch Perl 客户端,而 <em>Zach</em> 则负责 PHP,都是精彩的代码。","Elasticsearch 如此受欢迎的主要原因之一就是拥有与用户沟通产生共鸣的能力,Clint 和 <em>Zach</em> 都是这个集体的一份子,这让一切成为可能。"]}}]}
}
  • 简单请求字符串
    URL:POST /chzhao/person/_search
    解释:简单请求字符串类型(simple_query_string)的查询是请求字符串类型(query_string)查询的一个版本,它更适合那种仅暴露给用户一个简单搜索框的场景,因为,它用+/|/-分别替换了AND/OR/NOT,并且自动丢弃了请求中无效的部分,不会在用户犯错时抛出异常。
    参数:
{    "query": {"query_string" : {"query": "(我发布了这个开源项目~1 Python~1) + (Zach)  | (张三)","fields": ["_all", "desc^2"]}},"_source": [ "name", "desc" ],"highlight":{"fields":{"desc":{}}}
}

结果:

{"took": 17,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 2,"max_score": 3.1330857,"hits": [{"_index": "chzhao","_type": "person","_id": "CXFtg2QBJFDJAXuorGC3","_score": 3.1330857,"_source": {"name": "Zach","desc": "我仍然清晰地记得那个日子,我发布了这个开源项目第一个版本并在 IRC 聊天室创建一个频道,在那个最紧张的时刻,独自一人,急切地希望和盼望着第一个用户的到来。第一个跳进 IRC 频道的用户就是 Clint(克林顿),当时我好兴奋。好吧… 过了一会直到我发现 Clint 实际上是 Perl 用户啦,还是跟死亡讣告网站打交道。 我记得(当时)问自己为什么他不是来自于更“主流”的社区,像 Ruby 或 Python,亦或是一个稍微好点的使用案例。我真是大错特错!Clint 最终对 Elasticsearch 的成功起到了重要作用。他是第一个把 Elasticsearch 扔到生产环境中的人(还是 0.4 的版本!),初期与 Clint 的互动对于塑造 Elasticsearch 成今天的样子非常关键。对于什么是简单,Clint 有独特的见解并且他很少出错,这对 Elasticsearch 从管理、API 设计和日常使用等各个方面的易用性上面产生了很大的影响。 所以我们公司成立后不久,我们想也没想立即就联系 Clint 问他是否愿意加入我们。当我们成立公司时,我们做的第一件事就是提供公开培训。很难表达我们当时有多么紧张和担心是否真的有人会报名。但我们错了。培训到现在依然很成功,很多主要城市都还有大量的人等待参加。参加培训的人之中,有一个年轻的家伙吸引了我们注意,他的名字叫 Zach。 我们知道他有很多关于 Elasticsearch 的博客(并暗自嫉妒他用非常简单的方式来阐述复杂概念的能力),他还编写了一个 PHP 的客户端。 然后我们发现 Zach 他还是自掏腰包来参加我们的培训!你真的不能要求更多,于是我们找到 Zach,问他是否愿意加入我们的公司。Clint 和 Zach 是 Elasticsearch 能否成功的关键。他们是完美的解说家,从简单的上层应用到复杂的(Apache Lucene 的)底层逻辑。在 Elastic 这里我们非常珍惜这种独特技能。 Clint 还负责 Elasticsearch Perl 客户端,而 Zach 则负责 PHP,都是精彩的代码。最后,两位在 Elasticsearch 项目每天都在发生的大多数事情中也扮演着重要的角色。Elasticsearch 如此受欢迎的主要原因之一就是拥有与用户沟通产生共鸣的能力,Clint 和 Zach 都是这个集体的一份子,这让一切成为可能。"},"highlight": {"desc": ["我记得(当时)问自己为什么他不是来自于更“主流”的社区,像 Ruby 或 <em>Python</em>,亦或是一个稍微好点的使用案例。我真是大错特错!","参加培训的人之中,有一个年轻的家伙吸引了我们注意,他的名字叫 <em>Zach</em>。","然后我们发现 <em>Zach</em> 他还是自掏腰包来参加我们的培训!你真的不能要求更多,于是我们找到 <em>Zach</em>,问他是否愿意加入我们的公司。","Clint 还负责 Elasticsearch Perl 客户端,而 <em>Zach</em> 则负责 PHP,都是精彩的代码。","Elasticsearch 如此受欢迎的主要原因之一就是拥有与用户沟通产生共鸣的能力,Clint 和 <em>Zach</em> 都是这个集体的一份子,这让一切成为可能。"]}},{"_index": "chzhao","_type": "person","_id": "seu6bmQB9V3fvhOLwzKM","_score": 0.47947016,"_source": {"name": "李四","desc": "Python工程师"},"highlight": {"desc": ["<em>Python</em>工程师"]}}]}
}
  • 词条/多词条查询
    URL:POST /chzhao/person/_search
    解释:有时我们对结构化查询更感兴趣,希望得到更准确的匹配并返回结果,词条查询和多词条查询可帮我们实现。
    参数:
{    "query": {"terms" : {"name": ["alvin", "jack"]}},"_source": [ "name", "age", "address" ],"highlight":{"fields":{"desc":{}}}
}

结果:

{"took": 2,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 2,"max_score": 1,"hits": [{"_index": "alvin","_type": "person","_id": "CnGng2QBJFDJAXuo_WD6","_score": 1,"_source": {"address": "河南","name": "Alvin","age": 20}},{"_index": "alvin","_type": "person","_id": "DHGog2QBJFDJAXuo8mDD","_score": 1,"_source": {"address": "上海","name": "Jack","age": 20}}]}
}
  • 词条查询 - 排序
    URL:POST /alvin/person/_search
    解释:词条查询的结果(和其他查询结果一样)可以被轻易排序,多级排序也被允许。
    参数:
{    "query": {"terms" : {"address": ["河南"]}},"_source": [ "name", "age", "address" ],"sort":[{"age":{"order":"asc"}}]
}

结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 4,"max_score": null,"hits": [{"_index": "alvin","_type": "person","_id": "CnGng2QBJFDJAXuo_WD6","_score": null,"_source": {"address": "河南","name": "Alvin","age": 20},"sort": [20]},{"_index": "alvin","_type": "person","_id": "EHETh2QBJFDJAXuoTGAn","_score": null,"_source": {"address": "河南","name": "Lindar","age": "22"},"sort": [22]},{"_index": "alvin","_type": "person","_id": "DnESh2QBJFDJAXuo72Bo","_score": null,"_source": {"address": "河南","name": "Tom","age": "22"},"sort": [22]},{"_index": "alvin","_type": "person","_id": "D3ETh2QBJFDJAXuoJmBp","_score": null,"_source": {"address": "河南","name": "Lush","age": "22"},"sort": [22]}]}
}
  • 范围查询
    URL:POST alvin/person/_search
    备注:范围查询作用于日期、数字和字符串类型的字段。
    参数:
{    "query": {"range" : {"age": {"gte": "19","lte": "21"}}},"_source": [ "name", "age", "address" ],"sort":[{"age":{"order":"asc"}}]
}

结果:

{"took": 8,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 3,"max_score": null,"hits": [{"_index": "alvin","_type": "person","_id": "CnGng2QBJFDJAXuo_WD6","_score": null,"_source": {"address": "河南","name": "Alvin","age": 20},"sort": [20]},{"_index": "alvin","_type": "person","_id": "DHGog2QBJFDJAXuo8mDD","_score": null,"_source": {"address": "上海","name": "Jack","age": 20},"sort": [20]},{"_index": "alvin","_type": "person","_id": "DXGpg2QBJFDJAXuoHWBk","_score": null,"_source": {"address": "北京","name": "Mosson","age": 20},"sort": [20]}]}
}
  • 过滤查询
    URL:POST /alvin/person/_search
    参数:
{    "query": {"bool": {"must" : {"multi_match": {"query": "上海","fields": ["name","address"] }},"filter": {"range" : {"age": { "gte": 20 } }}}},"_source": [ "name", "age", "address" ]
}

结果:

{"took": 9,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.6931472,"hits": [{"_index": "alvin","_type": "person","_id": "DHGog2QBJFDJAXuo8mDD","_score": 0.6931472,"_source": {"address": "上海","name": "Jack","age": 20}}]}
}
  • 多重过滤
    URL:POST /alvin/person/_search
    参数:
{    "query": {"bool": {"must" : {"multi_match": {"query": "alvin","fields": ["name","address"] }},"filter": {"bool":{"must":{ "range":{ "age":{ "gte":19 } } },"should":{ "term":{ "name": "alvin" } } }}}},"_source": [ "name", "age", "address" ]
}

结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.6931472,"hits": [{"_index": "alvin","_type": "person","_id": "CnGng2QBJFDJAXuo_WD6","_score": 0.6931472,"_source": {"address": "河南","name": "Alvin","age": 20}}]}
}

CentOS系列之Elasticsearch(二):查询相关推荐

  1. ElasticSearch实战系列五: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合

    Title:ElasticSearch实战系列四: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合 前言 在上上一篇中介绍了ElasticSearch实战系列三: Elas ...

  2. java search 不能使用方法_ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程

    前言 在上一篇中介绍了ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解,本篇文章就来讲解下 ElasticSearch 6.x官方Java API的 ...

  3. ElasticSearch实战系列十一: ElasticSearch错误问题解决方案

    前言 本文主要介绍ElasticSearch在使用过程中出现的各种问题解决思路和办法. ElasticSearch环境安装问题 1,max virtual memory areas vm.max_ma ...

  4. [原创]商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸)

      商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸)     前言   参与过几个中小型商城系统的开发,随着时间的增长,以及对系统的深入研究和测试,发现确实有很多值得推敲和商榷的地方(总有 ...

  5. CentOS系列启动流程详解

    一.Linux启动内核文件 1.Linux系统组成 动态视角:内核+根文件系统 静态视角:磁盘分区+相关文件 2.Kernel特点 (1)支持某块化:.ko (kernel object)文件 (2) ...

  6. windows server 2003 DNS 细谈系列之(二)记录类型、数据库

    windows server 2003 DNS 细谈系列之(二)记录类型.数据库<?xml:namespace prefix = o ns = "urn:schemas-microso ...

  7. CentOS系列启动流程和内核原理(5系列,6系列,7系列)

    前言,本来让我写博客我是拒绝的然而看见大家都在写,还能不能一起友好的玩耍了? 我要是不写怎能和同大神们一起ZB呢?遂开博客! 一.Linux启动内核文件 1.Linux系统组成 动态视角:内核+根文件 ...

  8. 【机器学习与差分隐私代码实现】差分隐私代码实现系列(十二)

    差分隐私代码实现系列(十二) 写在前面的话 回顾 机器学习与差分隐私 使用 Scikit-Learn 进行逻辑回归 什么是模型? 使用梯度下降训练模型 梯度下降的单一步骤 梯度下降算法 梯度下降与差分 ...

  9. Elasticsearch的查询

    本文介绍使用Elasticsearch进行查询的语句和代码. 查询界面如下: 知识点: must 文档必须匹配 must 选项下的查询条件,相当于逻辑运算的 AND,且参与文档相关度的评分. shou ...

最新文章

  1. [BUUCTF-pwn]——[BJDCTF 2nd]rci
  2. Leetcode--239. 滑动窗口最大值
  3. ajax 实时进度_如何做好项目进度管理
  4. Python--MySql学习(10.30)
  5. 声网 环信:是的,我们在一起了!
  6. 数字图像恢复matlab结论,matlab模糊图像恢复数字图像处理
  7. Elasticsearch搜索类型(query type)详解
  8. asp,jsp,php等web开发必懂技术---什么时候使用静态页,什么时候必须使用动态页...
  9. 短信验证php_php如何实现短信验证
  10. SaaS是什么?我们为什么要做SaaS?
  11. 常微分方程I ODE的例子3 生态学模型:Malthus增长模型、Lotka-Volterra模型
  12. 条件表达式a?b:c是什么意思
  13. qq浏览器无小程序版本号与服务器不符,QQ浏览器发力小程序,同时兼容适配微信小程序...
  14. 计算机Excel设置透视图,电脑Excel表格中数据透视图怎么制作
  15. 30.PCIe扫盲——TLP Header详解(一)
  16. matlab 小波的分解与重构
  17. wpe解密系列001
  18. Java中将String转成Long或long
  19. git add 之后的文件被删除怎么恢复
  20. java爬虫框架(java爬虫框架webmagic)

热门文章

  1. java 版本区别,java SE是什么,下载JDK时各个名称的含义
  2. 三菱或尝试抛弃后视镜,使用摄像头和AI技术来导航
  3. windows server2012 管理配置chrome
  4. Cloud一分钟 |小米瞄上电纸书市场;员工《卫报》开专栏控诉亚马逊;拼多多Q3财报:总收入33.724亿元...
  5. Java面向对象和面向过程的区别
  6. UE4 如何开启 EQS
  7. Wargames(一)
  8. 淘宝店铺pc端代码详细解析
  9. java实现按比例缩放图片技巧
  10. android 项目练习:自己的词典app——生词本(一)