开发者社区> 问答> 正文

开放搜索


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

前提条件

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


控制台操作步骤


  1. 登录 OpenSearch 管理控制台

  2. OpenSearch 管理控制台 单击 [backcolor=transparent]创建应用。

  3. 在 [backcolor=transparent]填写基本信息 页面填写应用基本信息。

  4. 在 [backcolor=transparent]定义应用结构 页面选择 [backcolor=transparent]自定义结构,定义数据表、设置字段的类型属性。
    [backcolor=transparent]说明: 您也可以选择预设的应用结构类型。

  5. 单击 [backcolor=transparent]继续,定义索引结构、设置字段的搜索属性。

  6. 单击 [backcolor=transparent]下一步,选择 [backcolor=transparent]数据自动同步,并选择 [backcolor=transparent]数据来源 为 [backcolor=transparent]RDS,如下图所示。

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

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


API 操作步骤


OpenSearch SDK 支持 java、php 和 .net,同样可以使用 RESTful 风格的 API 调用。
以下以 python 简单演示 OpenSearch 的搜索。
  1. [backcolor=transparent]#!/usr/bin/env python
  2. [backcolor=transparent]import[backcolor=transparent] requests
  3. [backcolor=transparent]url [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"""
  4. [backcolor=transparent]http://$host/search?
  5. [backcolor=transparent]index_name=bbs&query=config=start:0,hit:10,
  6. [backcolor=transparent]format=fulljson&&query=default:'的'&&
  7. [backcolor=transparent]filter=create_timestamp>1423000000&&
  8. [backcolor=transparent]sort=+type;-RANK&fetch_fields=id;title;body;url;
  9. [backcolor=transparent]type;create_timestamp&
  10. [backcolor=transparent]first_formula_name=first_bbs&
  11. [backcolor=transparent]formula_name=second_bbs&summary=summary_snipped:1,
  12. [backcolor=transparent]summary_field:title,summary_element:high,
  13. [backcolor=transparent]summary_len:32,summary_ellipsis:...;
  14. [backcolor=transparent]summary_snipped:2,summary_field:body,
  15. [backcolor=transparent]summary_element:high,summary_len:60,
  16. [backcolor=transparent]summary_ellipsis:...
  17. [backcolor=transparent]"""
  18. [backcolor=transparent]res [backcolor=transparent]=[backcolor=transparent] requests[backcolor=transparent].[backcolor=transparent]get[backcolor=transparent]([backcolor=transparent]url[backcolor=transparent])[backcolor=transparent]\
  19. [backcolor=transparent]print[backcolor=transparent] res[backcolor=transparent].[backcolor=transparent]json[backcolor=transparent]()

展开
收起
云栖大讲堂 2017-10-18 14:09:00 1559 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《开放搜索查询分析服务架构分享》 立即下载
《开放搜索统一召回引擎实践》 立即下载
阿里云搜索产品年度升级发布 立即下载