|NO.Z.00022|——————————|BigDataEnd|——|Hadoop&ElasticSearch.V22|——|ELK.v22|集群|QueryDSL|词条级搜索.V2|
一、词条搜索(term query)
### --- term 查询用于查询指定字段包含某个词项的文档
POST /book/_search
{
"query": {
"term" : { "name" : "solr" }
}
}

二、词条集合搜索(terms query)
### --- terms 查询用于查询指定字段包含某些词项的文档
GET /book/_search
{
"query": {
"terms" : { "name" : ["solr", "elasticsearch"]}
}
}

三、范围搜索(range query)
### --- 范围搜索(range query)
~~~ gte:大于等于
~~~ gt:大于
~~~ lte:小于等于
~~~ lt:小于
~~~ boost:查询权重:在多条件组合查询时,可以手动控制每个条件的比重
GET /book/_search
{
"query": {
"range" : {
"price" : {
"gte" : 10,
"lte" : 200,
"boost" : 2.0
}
}
}
}

GET book/_search
{
"query": {
"range" : {
"timestamp" : {
"gte": "18/08/2020",
"lte": "2021",
"format": "dd/MM/yyyy||yyyy"
}
}
}
}

四、不为空搜索(exists query)
### --- 查询指定字段值不为空的文档。相当 SQL 中的 column is not null
GET /book/_search
{
"query": {
"exists" : { "field" : "price" }
}
}

五、词项前缀搜索(prefix query)
GET /book/_search
{ "query": {
"prefix" : { "name" : "so" }
}
}

六、正则搜索(regexp query)
### --- 正则搜索(regexp query)
~~~ regexp允许使用正则表达式进行term查询.注意regexp如果使用不正确,
~~~ 会给服务器带来很严重的性能压力。比如.*
~~~ 开头的查询,将会匹配所有的倒排索引中的关键字,这几乎相当于全表扫描,会很慢。
~~~ 因此如果可以的话,最好在使用正则前,加上匹配的前缀。
GET /book/_search
{
"query": {
"regexp":{
"name": "s.*"
}
}
}

GET /book/_search
{
"query": {
"regexp":{
"name":{
"value":"s.*",
"boost":1.2
}
}
}
}

八、模糊搜索(fuzzy query)
GET /book/_search
{
"query": {
"fuzzy" : { "name" : "sol" }
}
}

GET /book/_search
{
"query": {
"fuzzy" : { "name" : "so" }
}
}

GET /book/_search
{
"query": {
"fuzzy" : {
"name" : {
"value": "so"
"fuzziness": 2
}
}
}
}

GET /book/_search
{
"query": {
"fuzzy" : {
"name" : {
"value": "sorl"
}
}
}
}

POST /book/_search
{
"query": {
"fuzzy": {
"name": {
"value": "osrl",
"fuzziness":2
}
}
}
}

九、ids搜索(id集合查询)
GET /book/_search
{
"query": {
"ids" : {
"values" : ["1", "3"]
}
}
}

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv025-elk
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通