ElasticSearch(中文检索)source总结

本文详细介绍了如何使用Elasticsearch进行高效的数据检索,包括如何指定检索字段、排除字段以及如何进行排序。通过具体示例展示了如何配置_search请求,以获取特定格式的数据结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

包含不包含这里不多讲了。 

GET /lib4/user/_search
{
  "query": {
    "match_all": {}
  },
  "_source": {
    "includes": ["name" ,"address"],
    "excludes": ["age" , "birthday" ]
  }
}

直接看看结果

{
  "took" : 5,
  "timed_out" : false,
  "_shards" : {
    "total" : 3,
    "successful" : 3,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 5,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "address" : "北京海淀区清河",
          "name" : "赵明"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "4",
        "_score" : 1.0,
        "_source" : {
          "address" : " 北京海淀区清河",
          "name" : "王五"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "5",
        "_score" : 1.0,
        "_source" : {
          "address" : "北京海淀区清河",
          "name" : "张三"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "address" : "黑龙江省 铁岭",
          "name" : "赵六"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : {
          "address" : "北京海淀区清河",
          "name" : "lisi"
        }
      }
    ]
  }
}

 

GET /lib4/user/_search
{
  "_source": {
    "includes": "addr*" ,
    "excludes": ["name", "bir*"]
  },
  "query": {
    "match_all": {}
  }
}




#查询结果
{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 3,
    "successful" : 3,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 5,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "address" : "北京海淀区清河"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "4",
        "_score" : 1.0,
        "_source" : {
          "address" : " 北京海淀区清河"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "5",
        "_score" : 1.0,
        "_source" : {
          "address" : "北京海淀区清河"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "address" : "黑龙江省 铁岭"
        }
      },
      {
        "_index" : "lib4",
        "_type" : "user",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : {
          "address" : "北京海淀区清河"
        }
      }
    ]
  }
}

sort排序

GET /lib4/user/_search
{
  "query": {
    "match_all": {} 
  },
  "sort": {
     "age": {"order":"asc"}
  }
}

 

### Elasticsearch 中实现向量检索的方法和配置 #### 启用 KNN 插件支持向量检索功能 为了在Elasticsearch中启用向量检索,需安装并启动KNN插件。此操作可以通过下载对应版本的插件包来完成,并按照官方文档中的说明进行设置。 ```bash bin/elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/knn-vector/knn-vector-8.15.0.zip ``` 上述命令适用于特定版本(如8.15.0),确保所使用的Elasticsearch版本与此相匹配[^1]。 #### 创建索引映射定义向量字段 创建一个新的索引来存储具有向量特性的文档时,需要特别指定用于保存这些高维特征的数据结构。下面是一个JSON片段的例子: ```json PUT /my-index { "mappings": { "properties": { "vector_field": { "type": "knn_vector", "dimension": 128 } } } } ``` 这里`vector_field`代表要存入的向量名称;而`dimension`则指定了该向量的空间维度大小,这取决于实际应用场景下的需求。 #### 执行基于相似度的查询请求 当准备就绪之后,就可以利用内置函数来进行近似最近邻搜索了。例如,在给定目标向量的情况下查找最接近它的其他记录: ```json POST /my-index/_search?size=5 { "_source": ["title"], "query": { "knn": { "vector_field": { "vector": [-0.794643, ... , -0.21621], // 输入待比较的目标向量值列表 "k": 5 // 返回前几名的结果数量 } } } } ``` 这段代码展示了如何通过HTTP POST方法提交一次带有参数化的KNN查询到指定路径下,从而获取与输入样本最为相近的一组条目信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值