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

前提条件

  • 已开通OpenSearch服务。
  • 已创建Access Key。具体操作请参见创建AccessKey

控制台操作步骤

  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()