:::tips 全文检索查询的基本流程如下:
- 对用户搜索的内容做分词,得到词条
- 根据词条去倒排索引库中匹配,得到文档id
- 根据文档id找到文档,返回给用户
常用场景:
- 商城的输入框搜索
- 百度输入框搜索
建议将参与查询的字段利用copy_to复制到一个all字段中,此时使用三个字段和使用一个all字段搜索的效果一样。但是搜索的字段越多,对查询性能影响越大,建议采用copy_to的方法,使用单字段查询all来提升性能 :::
单字段查询
:::tips 根据搜索词搜索单个字段 :::
GET /索引库名/_search
{
"query": {
"match": {
"字段名": "搜索词"
}
}
}
多字段查询
:::tips 根据搜索词搜索多个字段 :::
GET /索引库名/_search
{
"query": {
"multi_match": {
"query": "搜索词",
"fields": ["字段名1", "字段名2"]
}
}
}