Elasticsearch搜索与关系建模全解析
1. 搜索相关基础
1.1 模糊搜索与斜距值
斜距值(slop value)在搜索中起到重要作用。例如,当斜距值为1时,用户搜索“real video aquarium”或“real saltware aquarium”,仍能匹配到包含精确短语“real video saltware aquarium”的文档。默认的斜距值为0。
1.2 多匹配查询
多匹配查询(multi_match query)是匹配查询的扩展,它允许在多个字段上运行匹配查询,并提供多种计算文档总分的选项。其可使用的选项如下:
- 查询多个默认字段
- 提升一个或多个字段的权重
- 不同类型的多匹配查询
1.2.1 查询多个默认字段
在Web应用中提供产品搜索功能时,当用户搜索某些术语,我们希望同时查询标题和描述字段。可以使用以下多匹配查询来实现:
GET /amazon_products/_search
{
"query": {
"multi_match": {
"query": "monitor aquarium",
"fields": ["title", "description"]
}
}
}
此查询对两个字段给予同等重要性。
1.2.2 提升一个或多个字段的权重
在电商类Web应用中,若希望标题字段比描述字段更重要,可通过提升标题字段的权重来实现。例
超级会员免费看
订阅专栏 解锁全文
712

被折叠的 条评论
为什么被折叠?



