`

Elasticsearch结构化搜索

 
阅读更多

 

查找准确值

 

{
    "query" : {
        "filtered" : { 
            "query" : {
                "match_all" : {} 
            },
            "filter" : {
                "term" : { 
                    "phoneNumber" : "16912132423"
                }
            }
        }
    }
}

 

analyze API分析具体字段的索引方式

_analyze?tokenizer=standard
"value"

_analyze?field=name
"value"

 

重建索引:

必须首先删除索引,因为我们不能修改已经存在的映射。

curl  -XDELETE  web:9200/my_store

 

 

为了避免“所以当我们用 XHDK-A-1293-#fJ3 来查找时,得不到任何结果,因为这个表征不在我们的倒排索引中”,我们需要通过设置这个字段为 not_analyzed 来告诉 Elasticsearch 它包含一个准确值。

curl  -XPUT  web:9200/my_store -d '{    "mappings" : {        "products" : {           "properties" : {                "productID" : {                    "type" : "string",                    "index" : "not_analyzed"                },"name" : {                    "type" : "string",                   "index" : "not_analyzed"               }            }        }    }}'

 

 插入数据

curl -XPOST web:9200/my_store/products/1?pretty -d '{"name":"香蕉","productid":"XHDK-A-1293-#fJ3","version":10}'

 

 

 

组合查询

bool嵌套查询

 

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "city": "北京"
              }
            },
            {
              "term": {
                "channel": "百度"
              }
            }
          ]
        }
      }
    }
  }
}
 

 

查询多个准确值

 

{
  "query": {
    "filtered": {
      "filter": {
        "terms": {
          "city": [
            "苏州",
            "北京"
          ]
        }
      }
    }
  }
}
 

范围查询 

es的范围查询使用range过滤器

{
  "query": {
    "filtered": {
      "filter": {
        "range": {
          "version": {
            "gte": 1,
            "lte": 10
          }
        }
      }
    }
  }
}

 

{
  "query": {
    "filtered": {
      "filter": {
        "range": {
          "timestamp": {
            "gt": "2015-12-01 00:00:00",
            "lt": "2015-12-12 00:00:00"
          }
        }
      }
    }
  }
}

 注意:要想过滤出yyyy-MM-dd HH:mm:ss的日期格式的数据,需要在创建索引mappings的时候指定日期格式。比如:

{
  "mappings": {
    "products": {
      "properties": {
        "productID": {
          "type": "string",
          "index": "not_analyzed"
        },
        "name": {
          "type": "string",
          "index": "not_analyzed"
        },
        "timestamp": {
          "type": "date",
          "format": "yyyy-MM-dd HH:mm:ss"
        }
      }
    }
  }
}

 

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "timestamp": {
                  "gt": "2015-12-01 00:00:00"
                }
              }
            },
            {
              "range": {
                "version": {
                  "gt": 1,
                  "lte": 10
                }
              }
            }
          ]
        }
      }
    }
  }
}

 

 

分享到:
评论

相关推荐

    ES查询客户端,elasticsearch可视化工具 elasticsearch查询客户端

    Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于数据检索、分析和管理。作为分布式、RESTful风格的搜索和数据分析引擎,Elasticsearch能够提供实时、高可用性以及可扩展的搜索功能。在进行日常的数据...

    springboot+es实现对word,pdf,txt等文件的非结构化数据全文内容检索

    在非结构化数据检索场景下,Elasticsearch能通过分词器对文本进行分析,建立倒排索引,从而实现快速全文搜索。 Spring Boot是基于Spring框架的轻量级开发工具,它简化了初始化、配置和运行过程。集成Elasticsearch...

    elasticsearch 8.11.3 windows安装包

    无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的...

    Elastic Search搭建使用教程.pdf(内含ElasticSearch教程权威指南)

    这些应用案例都展示了Elasticsearch在全文搜索、结构化搜索和数据分析方面的强大能力。 Elasticsearch的实时特性意味着它能够在数据被索引后,几乎即时地提供搜索结果。这使得Elasticsearch非常适合于需要快速响应...

    elasticsearch查询模版-模糊查询,多字段查询,相似度计算等

    Elasticsearch通常用于全文搜索、结构化搜索、分析以及将这三者结合起来的复杂搜索需求。 以下是关于Elasticsearch的一些关键特点和概念: 1. **分布式和高可用性**:Elasticsearch自动将数据分片并在集群中的多个...

    elasticsearch-7.17.6及对应版本IK分词

    无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的...

    Elasticsearch权威指南(中文版)-.pdf

    它用于全文搜索、结构化搜索、分析以及将这三者混合使用。 Elasticsearch 的优点在于将全文搜索、分析系统以及分布式数据库这些独立且有用的技术整合成一个一体化的、实时的应用。它对新用户的门槛很低,当然它也会...

    ElasticSearch实战教程

    非结构化数据搜索使用倒排索引,例如ElasticSearch。 在搜索实战中,我们将学习如何使用ElasticSearch实现搜索引擎,如何使用ElasticSearch实现数据分析等。同时,我们还将学习ElasticSearch的配置、管理和优化等。...

    elasticsearch windows 7.17.16 解压安装包

    无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的...

    springboot+elasticsearch

    在描述中提到,“es+springboot+mysql 实现mysql数据同步es,然后查询es数据各种demo实现”,这表明项目旨在实现在MySQL数据库和Elasticsearch之间进行数据同步,同时提供了查询Elasticsearch数据的各种示例代码。...

    ElasticSearch+Spark 构建高相关性搜索服务,千人千面推荐系统

    Elasticsearch是一款开源的全文搜索引擎,基于Lucene构建,提供了分布式的实时分析搜索功能。其核心特性包括: 1. **分布式**: 支持多节点部署,能自动进行数据分片和复制,保证系统的高可用性和容错性。 2. **实时...

    elasticsearch 7.17.16 linux 解压安装包

    无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的...

    ElasticSearch_Windows实现搜索学习笔记.pdf

    4. 结构化搜索:对结构化的数据如数字、日期等也提供高效搜索。 5. 数据分析:支持聚合和分析功能,可用于数据挖掘和业务洞察。 【Elasticsearch 应用场景】 Elasticsearch被广泛应用于多个领域,包括: 1. 维基...

    基于ElasticSearch的分布式全文搜索系统.pdf

    它能够处理PB级别的结构化或非结构化数据,并允许快速进行全文搜索、结构化搜索、分析等多种搜索需求。 分布式全文搜索系统的优势在于能够将搜索请求分发到多个节点上,通过并行处理大量数据来提高搜索效率和吞吐量...

    浅入深出ElasticSearch构建高性能搜索架构.docx

    **ElasticSearch**是一款基于Lucene的分布式搜索和分析引擎,适用于全文检索、结构化数据检索等多种场景。本章节旨在帮助初学者快速掌握ElasticSearch的基础知识。 1. **基础知识**:首先,学习ElasticSearch的基本...

    elasticsearch elasticsearch-6.2.2 elasticsearch-6.2.2.zip 下载

    Elasticsearch是一款基于Lucene的分布式搜索和分析引擎,适用于全文检索、结构化数据检索等场景。它能够实时地存储、检索和分析海量的数据,并且支持多种数据类型。由于其出色的性能和丰富的功能,Elasticsearch被...

    es入门操作-elasticsearch入门操作

    2. 结构化搜索:Elasticsearch 支持结构化搜索,能够对特定的字段进行搜索。 3. 分析:Elasticsearch 提供了实时的分析功能,能够对数据进行实时分析。 Elasticsearch 的技术架构包括: 1. 倒排索引:Elastic...

    7_Elasticsearch笔记.pdf

    Elasticsearch是基于Lucene的开发的搜索引擎,它支持分布式、多用户访问,可以轻松的扩展到上百台服务器,是近实时的搜索引擎,而不是实时的搜索引擎。Elasticsearch通过简单的RESTful API来隐藏Lucene的复杂性,...

    elasticsearch-6.8.18.rar(elasticsearch-6.8.18.zip)

    3. 全文搜索:Elasticsearch支持丰富的全文检索功能,包括分词、同义词、短语搜索等,可以对非结构化文本进行智能检索,提高用户的搜索体验。 4. 数据分析:除了搜索,Elasticsearch还具备强大的数据分析能力,可以...

Global site tag (gtag.js) - Google Analytics