5.Search详解

1.Search API

  • URL Search
    • 在URL 中使用查询参数
  • Request Body Search
    • 使用Elasticsearch 提供的,基于JSON 格式的更加完备的Query Domain Specific Language (DSL)

1.1 指定查询的索引

语法 范围
/_search 集群上所有的索引
index1/_search index1
index1,index2/_search index1 和index2
index*/_search 以index开头的索引

1.2 URI查询

使用 “q", 指定查询字符串 q 含义为 ”query string syntax"KV键值对

在这里插入图片描述

1.3 Request Body

在这里插入图片描述

POST kibana_sample_data_ecommerce/_search
{
	"query": {
		"match_all": {}
	}
}
# 返回结果
		{
  "took" : 129,  			// 花费时间  129 ms
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 4675,		// 命中文档总数
      "relation" : "eq"		// 命中格式 
    },
    "max_score" : 1.0,
    "hits" : [   //默认显示10条相关的文档记录 这里省去
     ]

1.4 搜索的相关性

  • 搜索是用户和搜索引擎的对话
  • 用户关心的是搜索结果的相关性
    • 是否可以找到所有相关的内容
    • 有多少不相关的内容被返回
    • 文档的打分是否合理
    • 结合业务需求,平衡结果排名
1.4.1 Web搜索

Page Rank 算法, 不仅仅是内容 更重要的是内容的可信度

在这里插入图片描述

1.4.2 电商搜索

搜索引擎扮演-销售的角色
1.提高用户购物体验
2.提升网站销售业绩
3.去库存

在这里插入图片描述

1.4.3 衡量相关性

Precision(查准率) :尽可能返回较少无关文档
Recall(查全率):尽量返回较多相关的文档
Ranking :是否能够按照相关度进行排序
在这里插入图片描述

2 URI Search详解

GET /movies/_search?q=2012&df=title&sort=year:desc&from=0&size=10&timeout=1s
{ 
"profile": "true"
}
  • q指定查询语句

  • df 默认字段,不指定时

  • Sort 排序

elasticsearch.yml 是 Elasticsearch 的主要配置文件,它包含了 Elasticsearch 集群的基本配置信息,如节点的名称、网络地址、集群名称、分片和副本的数量等。下面是一些常用的配置参数及其详解: 1. cluster.name:集群名称,同一集群内的节点必须使用相同的集群名称,否则无法加入到集群中。 2. node.name:节点名称,用于在集群中标识唯一的节点。 3. network.host:节点绑定的网络地址,默认为本机的 IP 地址,也可以指定为 0.0.0.0,表示绑定所有可用的网络地址。 4. http.port:HTTP 服务端口,默认为 9200。 5. discovery.zen.ping.unicast.hosts:集群中其他节点的地址,用于节点的发现和加入。 6. index.number_of_shards:每个索引的主分片数量,默认为 5。 7. index.number_of_replicas:每个主分片的副本数量,默认为 1。 8. path.data:数据存储路径,默认为 /var/lib/elasticsearch。 9. path.logs:日志存储路径,默认为 /var/log/elasticsearch。 10. bootstrap.memory_lock:启用内存锁定,防止 Elasticsearch 进程被交换出内存。 11. action.destructive_requires_name:开启命名删除,防止误删数据。 12. indices.fielddata.cache.size:缓存 field data 的大小,默认为 30%。 13. indices.query.bool.max_clause_count:布尔查询中最大允许的子句数量,默认为 1024。 14. thread_pool.search.size:搜索线程池的大小,默认为 CPU 核心数的 3 倍。 15. thread_pool.write.size:写线程池的大小,默认为 CPU 核心数的 3 倍。 总之,elasticsearch.yml 的配置项非常多,需要根据实际情况进行适当的调整,以保证 Elasticsearch 集群的高可用性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值