Couchbase 中文教程
  • Introduction
  • Couchbase 简介
  • Couchbase 应用场景
  • Couchbase 安装
  • Couchbase UI
  • 使用Node.js客户端
    • 安装与入门
    • 基本操作
      • CRUD 基本操作
      • 计数器操作
      • 过期时间操作
      • 加锁/解锁操作
      • Map方式操作(针对文档字段)
      • List链表方式操作
      • Queue队列方式操作
      • Set集合方式操作
      • append 与 prepend操作
    • N1QL操作
    • Sub-Document 部分更新操作
  • N1QL 基础操作教程
    • 第一章:N1QL基础
      • 测试数据
      • 1.AS 字段别名
      • 2.SELECT,FROM,WHERE
      • 3.文档,而不是行
      • 4.文档元数据
      • 5.简单算术运算
      • 6.ROUND(),TRUNC()函数
      • 7.字符串拼接
      • 8.WHERE条件过滤
      • 9.LIKE, NOT LIKE匹配
      • 10.Select DISTINCT
      • 11.判断 NULL和MISSING值
      • 12.匹配的元素与任何嵌套的数组
      • 13.AND,OR 组合多个条件
      • 14.USE KEYS 关键词匹配查询
      • 15.数组操作和切片
      • 16.快速回顾
      • 17.排序 ORDER BY
      • 18.LIMIT 和 OFFSET
      • 19.COUNT() , AVG() 聚合函数
      • 20.GROUP BY 分组
      • 21.HAVING 分组数据的过滤
      • 22.数组简约式
      • 23.回顾
    • 第二章:Joins 连接查询
      • 测试桶数据
      • 24.JOIN 子句
      • 25.Left outer JOINs 左外连接
      • 26.NEST
      • 27.UNNEST
      • 28.组合JOIN
    • 第三章:DML语句
      • 29.CURL 语句
      • 30.DELETE 删除操作
      • 31.UPDATE 更新操作
    • 案例分析 I:电子商务
      • 32.介绍说明
      • 33.Shopper - 浏览产品页面
      • 34.Shopper - 产品categories列表
      • 35.Shopper - 浏览和搜索产品
      • 36.Shopper - 列出category下的产品清单
      • 37.Shopper - 在栏目中找到最流行的一些产品
      • 38.Shopper - 浏览产品和排序结果
      • 39.Shopper - 购买促销活动产品
      • 40.Shopper - 列出了十大最畅销的产品
      • 41.Shopper - 列出评价最高的产品
      • 42.Merchant -为一个购买订单做准备
      • 43.Merchant - 找到最有价值的顾客
      • 44.Merchant - 客户的地区分布报告
      • 45.Merchant - 每月报告活动的客户
      • 46.Merchant - 识别评分较低的产品
      • 47.Merchant - 生成上月销售报告
      • 48.Merchant - 大订单
    • 案例分析 II:社交游戏
      • 49.介绍说明
      • 50.组装和加载用户配置信息
      • 51.列出一个用户发送的消息
      • 52.生成记分牌
      • 53.生成全球排行榜
      • 54.列出朋友
  • N1QL 5.5 进阶教程
    • COUCHBASE 5.5:查询和索引特性概述
    • ANSI JOINs in N1QL
    • 索引分组和聚合
    • 索引分区
  • Couchbase 连接器
    • Elasticsearch
      • Elasticsearch 插件配置
      • 与Couchbase交互说明
      • 其他
  • CAS机制
  • 索引
  • 视图(view indexes)
  • API
  • 资料
  • 注意点
  • 数据导出
Powered by GitBook
On this page

Was this helpful?

  1. Couchbase 连接器
  2. Elasticsearch

与Couchbase交互说明

PreviousElasticsearch 插件配置Next其他

Last updated 6 years ago

Was this helpful?

Couchbase 与Elasticsearch数据复制系统由下图说明表示:

  1. 红色箭头代表Couchbase SDK与Couchbase集群,进行数据写,查询一般情况通过Document id (也就是唯一KEY)进行交互.

  2. Couchbase数据会实时的同步到Ealsticsearch集群.

  3. Ealsticsearch通过全文检索进行查询,注意返回的是Document id (也就是唯一KEY),而不是完整的数据.

注意:

Couchbase同步到Ealsticsearch中的并非和Couchbase桶中一致的数据.而是包含了当前数据的一些元数据及Document id (也就是唯一KEY)

但是Ealsticsearch的数据一般是保存两份,一份是_source这一份原始数据,另一份是_all,用于全文检索

当查询的时候

$ curl localhost:9200/travel-sample/_search?q=san+francisco

结果:

{
    "took":5,
    "timed_out":false,
    "_shards":{"total":5,"successful":5,"skipped":0,"failed":0},
    "hits":{
        "total":1599,
        "max_score":11.965878,
        "hits":[
            {"_index":"travel-sample","_type":"couchbaseDocument","_id":"landmark_36047","_score":11.965878,"_source":{"meta":{"rev":"1-1508c18bdbb400000000000002000000","flags":33554432,"expiration":0,"id":"landmark_36047"}}},
            {"_index":"travel-sample","_type":"couchbaseDocument","_id":"landmark_25611","_score":11.905596,"_source":{"meta":{"rev":"1-1508c18bb43400000000000002000000","flags":33554432,"expiration":0,"id":"landmark_25611"}}},
            {"_index":"travel-sample","_type":"couchbaseDocument","_id":"landmark_25712","_score":11.905596,"_source":{"meta":{"rev":"1-1508c18bb61e00000000000002000000","flags":33554432,"expiration":0,"id":"landmark_25712"}}}
            ...
        ]
    }
}

这样在拿匹配到的Document id 根据Couchbase SDK去Couchbase桶中搜索.

应用场景举例

比如说在电子商务搜索场景

  • 产品表是一个桶,产品唯一标示是Document id,比如说产品名称ean,sku等

  • 用户搜索产品,其实一个是一个全文检索的过程(Ealsticsearch)

  • Ealsticsearch拿到检索到的Document id集合,根据Document id拿到产品的详细信息

  • 展示搜索到的产品列表给用户

不明白可以参考:

图解Elasticsearch中的_source、_all、store和index属性