1.es评分机制,使用场景,匹配多个关键词的时候,增加其中某个关键词的权重,增加其评分,搜索出来即可排到前面,评分默认为倒叙排
2.es基础的增删改查
//搜索,search_type=dfs_query_then_fetch(每个分片会根据 该分片内的所有文档计算一个本地 IDF,导致可能相同的数据,评分不同,用这个解决被破坏的相关度)
GET /user_car/_search?search_type=dfs_query_then_fetch
{
"query": {
"match": {"name": "a3"}
}
}
//新增,id为自动生成
POST /user_car/_doc/
{
"name": "新增",
"remark": "测试测试股"
}
//删除id为DEJ5zH0BGMnakSJjBChn的数据
DELETE user_car/_doc/DEJ5zH0BGMnakSJjBChn
//修改id为27的数据
POST /user_car/_doc/27/_update
{
"doc": {"remark": "测试a3"}
}
//查询a3和a2的数据的时候,本身评分是一样的,此时增加a2权重("boost": 2),它就会排到前面
POST /user_car/_search?search_type=dfs_query_then_fetch
{
"query": {
"bool": {
"should": [
{
"match": {
"remark": { "query": "a2", "boost": 2 } }
},
{
"match": {
"content": "a3" }
}
]
}
}
}
3.search_type=dfs_query_then_fetch(每个分片会根据 该分片内的所有文档计算一个本地 IDF,导致可能相同的数据,评分不同,用这个解决被破坏的相关度)