网站建设预期周期百度怎么搜索关键词
1. 查询所有
es最多只支持查询1万条数据。
# 查询所有
GET /items/_search
{"query": {"match_all": {}}
}
2. 叶子查询
-
- 全文检索
会对结果进行相关度打分。
# 检索单个字段
GET /items/_search
{"query": {"match": {"name": "脱脂牛奶"}}
}# 检索多个字段
GET /items/_search
{"query": {"multi_match": {"query": "TEXT","fields": ["FIELD1", "FIELD2"]}}
}
-
- 精确查询
Term-level query,推荐查找keyword、数值、日期、boolean类型的字段。
# 精确查询
GET /items/_search
{"query": {"term": {"isAD": {"value": "true"}}}
}
# range查询
GET /items/_search
{"query": {"range": {"price": {"gte": 100,"lte": 200}}}
}
# ids所有
GET /items/_search
{"query": {"ids": {"values": ["3070884", "4208291"]}}
}
3. 复合查询
filter也是与,但条件不参与算分。
GET /items/_search
{"query": {"bool": {"must": [{"match": {"name": "手机"}}],"should": [{"term": {"brand": {"value": "vivo"}}},{"term": {"brand": {"value": "小米"}}}],"must_not": [{"range": {"price": {"gte": 5000}}}],"filter": [{"range": {"price": {"lte": 1000}}}]}}
}
4. 排序
排序设置后,不会打分。
分页使用from,size。
# 排序查询
GET /items/_search
{"query": {"match_all": {}},"from": 0,"size": 20, "sort": [{"sold": "desc"},{"price": "asc"}]
}
5. 分页
方案:
- search after:分页时需要排序,是从上一次的排序值开始,查询下一页数据。
6. 高亮显示
# 排序查询
GET /items/_search
{"query": {"match": {"name": "手机"}},"highlight": {"fields": {"name": {"pre_tags": "<em>","post_tags": "</em>"}}}
}