当前位置: 首页 > wzjs >正文

聊城网站建设电话网站搭建需要多少钱

聊城网站建设电话,网站搭建需要多少钱,wordpress底部悬浮,文章采集网站一、Schema 基础概念 索引(Index):对 Redis 中的 Hash 或 JSON 文档进行反向索引,以支持全文、标签、数值、地理、向量等多种查询模式。Schema:定义索引结构,包括哪些字段(fields/attributes&a…

一、Schema 基础概念

  • 索引(Index):对 Redis 中的 Hash 或 JSON 文档进行反向索引,以支持全文、标签、数值、地理、向量等多种查询模式。
  • Schema:定义索引结构,包括哪些字段(fields/attributes)、字段类型、是否可排序、权重(relevance weight)、过滤条件等。

在执行 FT.CREATE 时,必须指定:

  1. 数据类型ON HASHON JSON
  2. Key 前缀(可选):PREFIX N prefix1 prefix2 ...
  3. 过滤条件(可选):FILTER <Lua 表达式>
  4. Schema 定义:SCHEMA 后面紧跟一系列 <field> <type> [OPTIONS]

二、字段类型与常用选项

类型作用常用选项
TEXT全文检索(分词、模糊、权重)WEIGHT <float> 提升相关度;NOSTEM 关闭词干提取
TAG精确匹配/集合过滤(支持多值)SEPARATOR <char> 自定义分隔符;SORTABLE 支持排序
NUMERIC数值区间查询SORTABLE 支持 SORTBY
GEO地理坐标半径检索
VECTOR向量相似度搜索(KNN)FLAT/HNSW 算法选择;DIMDISTANCE_METRICTYPE

三、基本示例

假设我们要为博客文章建立全文和基础过滤索引,文章存储在 Hash 中,Key 前缀为 blog:post:

FT.CREATE idx:postON HASHPREFIX 1 blog:post:
SCHEMAtitle         TEXT    WEIGHT 5.0    # 标题文本,相关度提高 5 倍content       TEXT                  # 正文全文author        TAG                   # 作者标签created_date  NUMERIC SORTABLE      # 发布时间,支持排序views         NUMERIC               # 浏览量
  • WEIGHT 5.0:在全文检索时让 title 的权重比 content 更重要。
  • SORTABLE:允许通过 SORTBY created_date 来对结果按日期排序。

四、进阶示例

4.1 TAG 字段自定义分隔符

如果某个字段内含多项标签,并以特定分隔符(如 ;)分隔,可用 SEPARATOR

FT.CREATE books-idxON HASHPREFIX 1 book:details:
SCHEMAtitle       TEXTcategories  TAG SEPARATOR ";"   # categories 字段按 ';' 切分索引

分词后,每个子项会被独立索引,查询时可用 @categories:{fiction} 精确过滤。

4.2 单字段多重索引

有时需要同一个字段同时作为全文和标签分别处理,例如 sku

FT.CREATE sku-idxON HASHPREFIX 1 product:
SCHEMAsku_text  AS sku TEXT           # sku 作为全文,字段名 sku_textsku_tag   AS sku TAG SORTABLE   # sku 也作为标签,并支持排序

4.3 多前缀混合索引

如果你的数据分散在多个前缀下(如作者和书籍),也可一次性建同一个索引:

FT.CREATE author-books-idxON HASHPREFIX 2 author:details: book:details:
SCHEMAauthor_id   TAG SORTABLEauthor_ids  TAGtitle       TEXTname        TEXT

4.4 基于 FILTER 条件索引

只有当文档满足特定条件时才索引,可用 FILTER 传入 Lua 表达式:

# 仅索引作者名以 G 开头的作者
FT.CREATE g-authors-idxON HASHPREFIX 1 author:details:FILTER 'startswith(@name, "G")'
SCHEMAname  TEXT# 仅索引有 subtitle 字段且非空的书籍
FT.CREATE subtitled-books-idxON HASHPREFIX 1 book:details:FILTER '@subtitle != ""'
SCHEMAtitle     TEXTsubtitle  TEXT

执行机制:在 FT.CREATE 时,RediSearch 扫描已有文档并按 FILTER 条件异步索引;新写入或修改时同步生效。

4.5 JSONPath 表达式索引 JSON 文档

对于存储在 RedisJSON 的文档,可以直接用 JSONPath 建索引:

FT.CREATE json-idxON JSON
SCHEMA$.title       AS title       TEXT$.categories  AS categories  TAG
  • $.title:映射到属性 title,类型为 TEXT
  • $.categories:映射到多值数组 categories,用 TAG 索引

五、最佳实践

  1. 精准前缀:使用 PREFIX 限定 Key 空间,减少不必要的文档扫描。
  2. 权重与排序:对核心字段如标题、ID 增大 WEIGHT;需要排序的字段请加上 SORTABLE
  3. 合理分隔符:多值标签建议用 TAG SEPARATOR 指定分隔符,避免内置逗号冲突。
  4. 过滤与性能:对于海量数据,建议使用 FILTER 预筛,减少索引量级。
  5. JSON vs HASH:若文档结构复杂或深层嵌套,推荐 RedisJSON + JSONPath 索引;扁平结构可用 HASH。

通过本文,你已掌握 RediSearch 的 Schema 定义要领:从基础的字段类型、权重、排序选项,到分隔符、自字段重用、前缀混合、FILTER 条件再到 JSONPath 索引,让你能够根据业务场景灵活、高效地构建索引,打造性能与功能兼备的 Redis 搜索引擎。

http://www.dtcms.com/wzjs/528881.html

相关文章:

  • 安卓app下载平台南昌seo建站
  • 软件培训公司杭州seo网络推广
  • 自制购物网站保定seo博客
  • 网站建设与管理 管理课程凡科建站怎么导出网页
  • dw是做网站怎么给表格影藏西安seo外包
  • 官方网站下载免费app如何去做网络营销
  • 金融网站建设方案ppt模板如何在百度发布广告信息
  • 域名备案需要网站搭建完成吗软件开发外包
  • 梵克雅宝官网中国官方网优化设计七年级下册数学答案
  • 遂宁网站制作上海百度推广优化
  • 怎样做班级网站投放广告怎么投放
  • 网站建设 上传和下载功能培训心得总结怎么写
  • 北京网站建设公司分形科技网站建设对企业品牌价值提升的影响
  • 招商网站建站广告门
  • 一站建设个人网站黑科技引流软件是真的吗
  • 成都工业学院文献检索在哪个网站做国家税务总局网
  • 南宁商城网站建设湖南正规关键词优化首选
  • 做网站流量怎么解决网络推广是啥
  • 乡镇政府网站建设自查报告欧美网站建设公司
  • 深圳搜豹网站建设公司营销网络怎么写
  • 网站开发专业介绍seo报名在线咨询
  • 外贸b2b网站建设国外免费发产品的b2b平台
  • 医药招商网站建设软文网站模板
  • 如何做充值网站seo谷歌外贸推广
  • dw网站图片滚动怎么做百度广告服务商
  • 湖北硕丰建设有限公司网站邯郸seo优化
  • 电梯网站建设软文代发价格
  • 做我女朋友好不好手机网站友情链接网
  • 如何做网站搜索引擎优化发外链的网址
  • 网站的特征google搜索