Couchbase UI: Search

Couchbase 的 UI 提供了 Search 页面 来支持全文搜索功能(Full-Text Search,简称 FTS)。通过 Couchbase 的搜索功能,用户可以快速实现复杂的文本搜索操作,比如模糊匹配、前缀查询、分词查询等,适合需要对非结构化或半结构化数据进行高效检索的场景。

以下是 Couchbase UI 中 Search 页面功能的详细介绍:


1. 入口

  1. 登录到 Couchbase Web Console。
  2. 在顶部导航栏中,点击 Search(搜索)页面。

2. 界面功能

2.1 搜索索引管理

搜索功能的核心是 FTS 索引。Search 页面支持创建、管理和优化这些索引。

  • 创建索引

    1. 点击 Add Index(添加索引)。
    2. 填写以下信息:
      • 索引名称 :自定义的唯一名称,例如 product_search_index
      • 目标 bucket:选择需要创建索引的 bucket。
    3. 配置索引字段:
      • 可以通过 Field Mapping 配置需要索引的字段。
      • 支持定义分词、模糊匹配、精确匹配等规则。
    4. 保存索引,系统会自动构建索引。
  • 索引状态

    • 显示每个索引的状态,例如 Ready(已就绪)或 Building(构建中)。
    • 提供索引的文档数量、占用磁盘空间等统计信息。
2.2 查询编辑器
  • 输入查询语句

    • 使用 FTS 查询 DSL(Domain Specific Language)编写查询。

    • 例如,搜索包含 "couchbase" 的文档:

      json 复制代码
      {
        "query": {
          "match": "couchbase"
        }
      }
  • 高级查询支持

    • 模糊查询 :查找与关键词近似的词语。

      json 复制代码
      {
        "query": {
          "fuzzy": {
            "term": "couchbase",
            "fuzziness": 2
          }
        }
      }
    • 范围查询 :基于数值或日期范围查找文档。

      json 复制代码
      {
        "query": {
          "range": {
            "field": "price",
            "min": 10,
            "max": 50
          }
        }
      }
  • 调试和优化

    • 支持查看查询的结果集及相关统计信息(如命中数、查询耗时)。
    • 提供 Explain 功能,帮助查看查询的执行计划。
2.3 查询结果
  • 结果展示

    • 查询结果以 JSON 格式返回,展示符合条件的文档。
    • 可以按分数(score)排序,以优先显示相关性最高的文档。
  • 统计信息

    • 查询耗时。
    • 命中的文档数。
    • 分词后的结果(适用于调试分词器)。
2.4 索引优化
  • Field Mapping(字段映射)

    • 支持自定义字段的分词规则,例如:
      • 索引特定字段(如 titledescription)。
      • 排除非必要字段,优化性能。
    • 提供预设的映射模板,例如:
      • Default Analyzer(默认分词器)。
      • Custom Analyzer(自定义分词器),如结合分词插件使用。
  • 索引调试

    • 在索引创建页面中,可以预览样本文档的分词和索引结果。
    • 验证字段映射配置是否满足查询需求。

3. 使用场景

  1. 全文搜索
    • 搜索文档中任意字段的文本内容,例如文章标题、商品描述等。
  2. 模糊匹配
    • 允许拼写错误或词形变化的模糊搜索。
  3. 前缀和范围查询
    • 基于关键词的前缀查找(如自动补全)。
    • 日期或数值字段的范围过滤。
  4. 多字段搜索
    • 针对多个字段同时搜索,提高匹配的灵活性。

4. 注意事项

  1. 性能

    • 大量复杂查询可能影响性能,建议优化索引映射,减少不必要字段的索引。
    • 定期维护索引状态,确保查询的高效性。
  2. 分词器选择

    • 默认分词器可能无法满足某些语言(如中文)的需求,可以引入第三方分词器插件。
  3. 与 N1QL 的结合

    • FTS 查询可以与 N1QL 联合使用,满足更复杂的业务需求。例如:

      sql 复制代码
      SELECT meta().id
      FROM bucket_name
      WHERE SEARCH("product_search_index", {"match": "couchbase"});
相关推荐
涵涵(互关)11 小时前
Naive-ui树型选择器只显示根节点
前端·ui·vue
测试员周周14 小时前
【Appium 系列】第13节-混合测试执行器 — API + UI 的协同执行
开发语言·人工智能·python·功能测试·ui·appium·pytest
莽夫搞战术14 小时前
【Google Stitch】AI原生画布重新定义设计,让想法变成可交互界面
前端·人工智能·ui
ZC跨境爬虫17 小时前
跟着 MDN 学CSS day_3:(为一个传记页面添加样式)
前端·javascript·css·ui·音视频·html5
UI设计兰亭妙微19 小时前
兰亭妙微|打破色彩对比度迷思:UI设计公司中的无障碍设计灵活之道
ui·b端界面设计·高端网站设计
轻口味20 小时前
HarmonyOS 6.1 全栈实战录 - 14 渲染树透镜:FrameNode 渲染状态感知与高性能 UI 调优实战
ui·华为·harmonyos
ZC跨境爬虫1 天前
跟着 MDN 学CSS day_5:掌握属性选择器的存否匹配与子字符串匹配
前端·javascript·css·ui·html
ZC跨境爬虫1 天前
模块化烹饪小程序开发日记 Day5:(后端Flask接口开发与AI智能解析菜谱的实现)
前端·人工智能·后端·python·ui·flask
薛定猫AI1 天前
【深度解析】Gemini Omni 多模态生成与 Agent 化创作工作流:从视频编辑到 UI 生成的技术演进
人工智能·ui·音视频
赏金术士2 天前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose