开放搜索服务(OpenSearch)是一款结构化数据搜索托管服务,为移动应用开发者和网站站长提供简单、高效、稳定、低成本和可扩展的搜索解决方案。通过 OpenSearch 自带功能,可将 RDS 中的数据自动同步至 OpenSearch 实现各类复杂搜索。下面以 OpenSearch 与 RDS 搭配为例介绍开发搜索方案。

前提条件

  • 已开通 OpenSearch 服务
  • 已启用 Access Key

控制台操作步骤

  1. 登录 OpenSearch 管理控制台
  2. OpenSearch 管理控制台 单击 创建应用
  3. 填写基本信息页面填写应用基本信息。
  4. 定义应用结构页面选择自定义结构,定义数据表、设置字段的类型属性。
    说明
    您也可以选择预设的应用结构类型。
  5. 单击 继续,定义索引结构、设置字段的搜索属性。
  6. 单击 下一步,选择 数据自动同步,并选择数据来源 RDS,如下图所示。


  7. 填写数据库信息,并选择 数据自动同步授权 OpenSearch 读取 RDS 数据,单击连接数据,如下图所示。


  8. 填写要映射的字段,单击 保存
  9. 单击下一步,确认信息后根据向导完成操作。

API 操作步骤

OpenSearch SDK 支持 java、php 和 .net,同样可以使用 RESTful 风格的 API 调用。

以下以 python 简单演示 OpenSearch 的搜索。

#!/usr/bin/env python
import requests
url = """
http://$host/search?
index_name=bbs&query=config=start:0,hit:10,
format=fulljson&&query=default:'的'&&
filter=create_timestamp>1423000000&&
sort=+type;-RANK&fetch_fields=id;title;body;url;
type;create_timestamp&
first_formula_name=first_bbs&
formula_name=second_bbs&summary=summary_snipped:1,
summary_field:title,summary_element:high,
summary_len:32,summary_ellipsis:...;
summary_snipped:2,summary_field:body,
summary_element:high,summary_len:60,
summary_ellipsis:...
"""
res = requests.get(url)\
print res.json()