oracle全文索引之STOPLIST_ CTXCAT 索引_INDEX SET

OracleTextApplicationDeveloperGuide.pdf 英文原版 Oracle Text Application Developer Guide 立即下载

这篇文章介绍的是ORACLE CTXCAT索引的INDEX SET,也是CTXCAT索引特有的属性。

CTXCAT 索引是CONTEXT索引的简化版,CTXCAT索引支持的PREFERENCE包括:LEXER、STOPLIST、WORDLIST和STORAGE 参数。不支持其他的参数如:DATASTORE、FILTER、SECTION GROUP。虽然支持LEXER但不支持THEME查询,而且不支持FORMAT、CHARSET和LANGUAGE列,另外不支持表和索引分区。

CTXCAT 索引仅仅包含了CONTEXT索引的部分内容,但是CTXCAT索引有其自身的优点。其中最突出的优点就是支持DML同步。CONTEXT索引由于结构过 于复杂,且索引的数据量一般较大,因此CONTEXT索引并不是自动同步的。而CTXCAT索引是自动同步的,当发生了DML修改时,Oracle会自动 同步CTXCAT索引,降低了索引的维护成本。

CTXCAT 索引的另外一个优点就是这里要介绍的INDEX SET属性,这也是CTXCAT索引特有的属性。简单的说,CTXCAT可以建立一个索引集。可以把一些经常与CTXCAT查询组合使用的查询列的索引添 加到索引集中。比如,如果在查询文章内容的同时,经常需要查询文章的作者、标题或创建时间等信息,则可以将这些信息列的索引添加到索引集中,Oracle 可以将这些查询封装到CATSEARCH操作中,从而提高全文索引的效率。

下面看一个简单的例子:

[oracle@rhel140 ~]$ sqlplus myuser/myuser

SQL*Plus: Release 10.2.0.1.0 - Production on Sun May 24 23:19:47 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> CREATE TABLE T (ID NUMBER, TITLE VARCHAR2(256), CREATED DATE, DOCS VARCHAR2(4000));

Table created.

SQL> INSERT INTO T VALUES (1, 'ORACLE TEXT REFERENCE', TO_DATE('200203', 'YYYYMM'),
2 'This manual provides reference information for Oracle Text. Use it as a reference for
3 creating Oracle Text indexes, for issuing Oracle Text queries, for presenting
4 documents, and for using the Oracle Text PL/SQL packages.');

1 row created.

SQL> INSERT INTO T VALUES (2, 'ORACLE TEXT APPLICATION DEVELOPER''S GUIDE',
2 TO_DATE('200203', 'YYYYMM'),
3 'This guide explains how to build query applications with Oracle Text. This preface
4 contains these topics:');

1 row created.

SQL> INSERT INTO T VALUES (3, 'ORACLE SQL REFERENCE', TO_DATE('200210', 'YYYYMM'),
2 'This reference contains a complete description of the Structured Query Language
3 (SQL) used to manage information in an Oracle database. Oracle SQL is a superset
4 of the American National Standards Institute (ANSI) and the International
5 Standards Organization (ISO) SQL99 standard.');

1 row created.

SQL> COMMIT;

Commit complete.

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CTXCAT;

Index created.

SQL> SET AUTOT ON EXP
SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', NULL) > 0;

ID
----------
1
3


Execution Plan
----------------------------------------------------------
Plan hash value: 3282600506

------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2027 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 2027 | 2 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | IND_T_DOCS | | | | |
------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

2 - access("CTXSYS"."CATSEARCH"("DOCS",'SQL',NULL)>0)

Note
-----
- dynamic sampling used for this statement


SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', NULL) > 0
2 AND CREATED = TO_DATE('200203', 'YYYYMM');

ID
----------
1


Execution Plan
----------------------------------------------------------
Plan hash value: 3282600506

------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2036 | 2 (0)| 00:00:01 |
|* 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 2036 | 2 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | IND_T_DOCS | | | | |
------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1 - filter("CREATED"=TO_DATE('2002-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss'))
2 - access("CTXSYS"."CATSEARCH"("DOCS",'SQL',NULL)>0)

Note
-----
- dynamic sampling used for this statement


SQL> CREATE INDEX IND_T_CREATED ON T (CREATED);

Index created.

SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', NULL) > 0
2 AND CREATED = TO_DATE('200203', 'YYYYMM');

ID
----------
1


Execution Plan
----------------------------------------------------------
Plan hash value: 2040116302

--------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2036 | 4 (25)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID | T | 1 | 2036 | 4 (25)| 00:00:01 |
| 2 | BITMAP CONVERSION TO ROWIDS | | | | | |
| 3 | BITMAP AND | | | | | |
| 4 | BITMAP CONVERSION FROM ROWIDS| | | | | |
|* 5 | INDEX RANGE SCAN | IND_T_CREATED | 2 | | 1 (0)| 00:00:01 |
| 6 | BITMAP CONVERSION FROM ROWIDS| | | | | |
| 7 | SORT ORDER BY | | | | | |
|* 8 | DOMAIN INDEX | IND_T_DOCS | 2 | | | |
--------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

5 - access("CREATED"=TO_DATE('2002-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss'))
8 - access("CTXSYS"."CATSEARCH"("DOCS",'SQL',NULL)>0)

Note
-----
- dynamic sampling used for this statement


上面的查询不仅包括了对DOCS列的全文索引查询还包括了对CREATED列的查询。Oracle采用了先将BTREE索引转化为BITMAP索引,在进行BITMAP索引的AND的方法进行了处理。而如果采用了INDEX SET的方法,则不需要如此复杂的转化:

SQL> DROP INDEX IND_T_DOCS;

Index dropped.

SQL> DROP INDEX IND_T_CREATED;

Index dropped.


SQL> BEGIN
2 CTX_DDL.CREATE_INDEX_SET('TEST_INDEXSET');
3 CTX_DDL.ADD_INDEX('TEST_INDEXSET', 'CREATED');
4 END;
5 /

PL/SQL procedure successfully completed.

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CTXCAT
2 PARAMETERS ('INDEX SET TEST_INDEXSET');

Index created.

SQL> SET AUTOT ON EXP
SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', 'CREATED = TO_DATE(''200203'', ''YYYYMM'')') > 0;

ID
----------
1


Execution Plan
----------------------------------------------------------
Plan hash value: 3282600506

------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2027 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 2027 | 2 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | IND_T_DOCS | | | | |
------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

2 - access("CTXSYS"."CATSEARCH"("DOCS",'SQL','CREATED = TO_DATE(''200203'',
''YYYYMM'')')>0)

Note
-----
- dynamic sampling used for this statement


处理支持结构性查询条件外,使用INDEX SET索引集还可以支持索引列的排序操作

SQL> SET AUTOT OFF
SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', NULL) > 0;

ID
----------
1
3

SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', 'ORDER BY CREATED DESC') > 0;

ID
----------
3
1

这种将索引添加到索引集的操作也有一定的限制,比如结构性查询的操作只能包含大于、等于、小于、IN、BETWEEN AND操作。另外,加入到索引集中索引列的大小也有限制,对于VARCHAR2和CHAR类型,大小不能超过30字符,否则会报错:

用了不等于操作

SQL> SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', 'CREATED != TO_DATE(''200203'', ''YYYYMM'')') >0;
SELECT ID FROM T WHERE CATSEARCH(DOCS, 'SQL', 'CREATED != TO_DATE(''200203'', ''YYYYMM'')') >0
*
ERROR at line 1:
ORA-29902: error in executing ODCIIndexStart() routine
ORA-20000: Oracle Text error:
DRG-10844: index cannot execute this structured predicate efficiently
DRG-10845: column CREATED ! is not indexed


建立超过30个字符的索引

SQL> DROP INDEX IND_T_DOCS;

Index dropped.

SQL> exec CTX_DDL.ADD_INDEX('TEST_INDEXSET', 'TITLE');

PL/SQL procedure successfully completed.

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CTXCAT
2 PARAMETERS ('INDEX SET TEST_INDEXSET');
CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CTXCAT
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-12306: column TITLE is too long for index set columns
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.CATINDEXMETHODS", line 97


SQL> select id,length(title) from t;

ID LENGTH(TITLE)
---------- -------------
1 21
2 41
3 20


SQL> update t set title=substr(title,1,30) where id=2;
update t set title=substr(title,1,30) where id=2
*
ERROR at line 1:
ORA-29861: domain index is marked LOADING/FAILED/UNUSABLE


SQL> drop index IND_T_DOCS;

Index dropped.

SQL> update t set title=substr(title,1,30) where id=2;

1 row updated.

SQL> commit;

Commit complete.

SQL> ALTER TABLE MYUSER.T MODIFY(TITLE VARCHAR2(30 BYTE));

Table altered.

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CTXCAT
2 PARAMETERS ('INDEX SET TEST_INDEXSET');

Index created.

将字段长度改为varchar2(30)则可以建立

高速电路的信号完整性分析 摘要:介绍了高速PCB设计中的信号完整性概念以及破坏信号完整性的原因,从理论和计算的层面上分析了高速电路设计中反射和串扰的形成原因,并介绍了IBIS仿真。 关键词:信号完整性 反射 串扰 IBIS仿真 随着半导体技术和深压微米工艺的不断发展,IC的开关速度目前已经从几十MHz增加到几百MHz,甚至达到几GHz。在高速PCB设计中,工程师经常会碰到误触发、阻尼振荡、过冲、欠冲、串... 阅读详情

相关推荐

Mixly/Arduino实战:WS2812点阵动态显示自定义图案与汉字

本文手把手教你使用Mixly和Arduino驱动WS2812点阵屏,实现自定义图案与汉字的动态显示。内容涵盖硬件连接、取模软件设置、高效数据处理技巧(巧用Excel)、Mixly图形化编程及Arduino代码解析,并深入探讨动态显示与滚动汉字原理,最后提供常见问题排查与性能优化心得,助你从零开始轻松玩转智能硬件。

weixin_29185199的博客 454

Oracle全文检索之Ctxcat 索引

今天测试了Ctxcat 索引,发现也不支持中文分词。 SQL> Create table auction(Item_id number,Title varchar2(100),Category_id number,...

335

FPGA实战:SRIO接口数据流控制与回环测试详解

本文详细解析了FPGA中SRIO接口的数据流控制机制与回环测试实战。通过剖析SRIO IP核的AXI4-Stream接口握手时序(tvalid/tready/tlast),重点阐述了HELLO数据包格式与状态机设计,并提供了完整的Verilog代码示例。文章以回环测试为核心验证手段,指导开发者排查常见问题,为FPGA高速互连通信设计提供实用指南。

weixin_29173777的博客 425

Oracle域索引

Oracle 从8i之前,就有了全文检索功能。到9i之后,基本可以放心使用,建立的Oracle Text索引被称为域索引(domain index)也叫全文索引,包括4种索引类型: CONTEXT, CTXCAT, CTXRULE or CTXXPATH 优点: 当用like‘%%’查询的时候,普通的索引是失效的,这种场景可以通过建立全文索引的扫描而快速得到查询结果 缺点: 1、全文索引导致磁盘资源的大量占用,如上述的例子中,表占用的空间为546M,

weixin_48493949的博客 593

相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象

如何显示图像:可以访问我文章开头的博客,通过编写相机通用类即可,程序中是有继承通用类,通过访问相机通用的获取图像数据,从而传输图像数据。具体可以查看相机通用类。整体过程其实比较简单,由于海康相机没有像一些品牌相机一样可以直接使用序列号开启相机,所以我们需要通过对相机信息进行索引,根据索引到的相机序列号来开启相机。

m0_51559565的博客 7619

告别激活烦恼:Lattice Diamond 3.13 永久免费License申请与配置全攻略(Windows 64位)

本文详细介绍了Lattice Diamond 3.13永久免费License的申请与配置全流程,特别针对Windows 64位系统用户。从官网导航的隐藏路径到Host ID的获取方式,再到License文件的高级处理技巧和环境变量的深度配置,提供了全面的安装教程和疑难问题解决方案,帮助开发者彻底告别激活烦恼。

weixin_28736335的博客 424

Oracle 11g Release 1 (11.1) Oracle Text 如何创建 CTXCAT 索引

本文内容 创建一个 Oracle 全文检索用户 创建表和插入数据 创建 CTXCAT 索引 针对中文创建 CTXCAT 索引   使用 Oracle 全文检索 CTXCAT 索引能够获得更好地混合查询的性能。通常,你可以利用该索引为小文本或文本片段建立索引。例如,表的列,如条目名称、价格和描述,可以包含在索引中,以提高混合查询性能。 该索引在 DML 后是...

weixin_33688840的博客 231

ADS与MATLAB数据互通全指南:从Snp文件导入到TXT导出完整流程

本文详细介绍了在射频与微波工程中,实现ADS与MATLAB高效数据互通的完整流程。核心内容包括利用SPOutput控件、数据显示窗口及测量方程等多种方法,将ADS仿真数据(如S参数)导出为Touchstone或TXT格式,并导入MATLAB进行深度分析与可视化;同时指导如何将MATLAB处理后的数据回灌至ADS,用于模型验证与协同仿真,旨在构建自动化、无损的数据交换工作流,提升工程师的工作效率。

pluto的博客 391

lob 索引 oracle,解决了困惑已久的Oracle全文索引问题

最终选用了ctxcat索引,因为建context索引的时候出现了以下错误ERROR at line 1:ORA-29855: error occurred in the execution ofODCIINDEXCREATE routineORA-20000: Oracle Text error:ORA-04030: out of process memory when trying toallo...

weixin_35036735的博客 711

零基础实战:YOLO检测头自定义替换全攻略

本文为零基础用户提供了YOLO检测头自定义替换的完整实战指南。通过将检测头比作汽车的“方向盘”,文章详细阐述了为何需要替换、如何寻找和集成新检测头模块、修改配置文件以及最终训练验证的全过程,旨在帮助用户针对特定任务(如小目标检测)提升模型性能。

perl8的博客 255

YOLOV12融合MSDA多尺度空洞注意力:突破尺度限制的科研实践指南

MSDA通过多尺度空洞注意力的设计,为YOLOV12突破尺度检测瓶颈提供了有效方案。从原理理解到代码实现,再到集成调优,每一步都是科研中“解决实际问题”的具体实践。如果你在实验中发现某类尺度目标的检测仍有不足,可以尝试结合数据增强(如随机缩放、多尺度训练)来强化模型对尺度变化的鲁棒性。科研的价值在于不断解决真实难题,希望这份指南能真正帮你在目标检测的尺度感知领域找到新的突破点,祝你在科研探索中持续收获新的见解与成果。

FJN110的博客 241

Oracle全文索引

转自http://www.cnblogs.com/tracy/archive/2010/10/20/1856480.html,感谢原作者! 不使用Oracle text功能,也有很多方法可以在Oracle数据库中搜索文本.可以使用标准的INSTR函数和LIKE操作符实现。 SELECT *FROM mytext WHERE INSTR (thetext, 'Oracle') > 0; SE

bnuside的专栏 841

【Mini KITTI】KITTI数据集简介 — Mini KITTI

为了快速进行算法调试、训练、评估和验证,以及快速下载,制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:。 关于KITTI各个部分的介绍请分别参考以下内容: ...

叶子的博客 7534

CTXCAT索引属性_实例学习

ORACLE CTXCAT索引的INDEX SET,也是CTXCAT索引特有的属性。   CTXCAT索引是CONTEXT索引的简化版,CTXCAT索引支持的PREFERENCE包括:LEXER、STOPLIST、WORDLIST和STORAGE参数。不支持其他的参数如:DATASTORE、FILTER、SECTION GROUP。虽然支持LEXER但不支持THEME查询,而且不支持FORMA...

june696295的专栏 250

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

oracle查询结果中数据相减,oracle 分组统计后结果相减 实例

oracle 分组统计后结果相减 实例create table TEST1(ID VARCHAR2(10),SALARY NUMBER(4))-----------------------------insert into test1 (ID, SALARY)values ('1', 32);insert into test1 (ID, SALARY)values ('2', 5...

weixin_29083649的博客 3353

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

全文索引方面

09年马上要结束了,BLOG每天更新又坚持了一年,目前文章总数1700多篇,其中纯技术文章将近1300篇。 我比较喜欢的一句话:十年磨一剑。以前提到过,坚持10年可能会比较困难,那么至少要坚持5年,到目前为止,BLOG更新已经...

ckawt40802的专栏 99

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Oracle 数据库高级特性深度解析:全文检索完全指南

Oracle Text(早期称为 Oracle ConText 和 Oracle interMedia Text)是 Oracle 数据库内置的全文检索技术,它能够让用户对存储在数据库中的文档、网页、PDF、Word 等非结构化文本内容进行高效的全文搜索和分析。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;多语言支持多种文档格式搜索功能。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 641

安装了两种oracle数据库怎么卸载,oracle数据库卸载步骤

oracle数据库卸载步骤卸载Oracle :1、停止所有Oracle服务,点Universal Installer卸载2、删除注册表中的所有关于Oracle项(1)在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services下,删除所有Oracle项(3)在HKEY_LOC...

weixin_28766581的博客 1188

西欧文字入oracle,Oracle Text简介

Oracle text-Oracle Text的体系架构一、Oracle Text索引文档时所使用的主要逻辑步骤如下:(1)逻辑搜索表的所有行,并读取列中的数据。通常,这只是列数据,但有些数据存储使用列数据作为文档数据的指针。例如,URL_DATASTORE将列数据作为使用。(2)提取文档数据并将其转换为文本表示方式。存储二进制文档(如Word或Acrobat文件)时需要这样做。过滤器的输出不必是...

weixin_42300721的博客 202

ORACLE 全文检索:

全文索引: ORACLE TEXT DATASTORE PREFERENCE(一):介绍DIRECT_DATASTORE。 ORACLE TEXT DATASTORE PREFERENCE(二):介绍MULTI_COLUMN...

cuizatu9720的博客 118

oracle 10g 关键词,Oracle 10g 的全文检索

Oracle 10g 的全文检索分为两个部分:索引创建 – 使用过滤器(Filter)对不同格式的内容进行提取,通过词法分析器(Lexer)将文本分离为有效词列表,创建并设置噪声词表、相关词表。查询处理 – 在标准 SELECT 语句中通过 CONTEXT 和 CTXCAT 使用全文索引搜索。1. 索引创建a. 数据存储(Datastore)默认的数据存储方式为 DIRECT_DATASTORE。...

weixin_42511879的博客 164

Oracle 10g 的全文检索

Oracle 10g 的全文检索分为两个部分: 索引创建 – 使用过滤器(Filter)对不同格式的内容进行提取,通过词法分析器(Lexer)将文本分离为有效词列表,创建并设置噪声词表、相关词表。 查询处理 – 在标准 SELECT 语句中通过 CONTEXT 和 CTXCAT 使用全文索引搜索。 1. 索引创建 a. 数据存储(Datastore) 默认的数据存储方式为 D...

weixin_33994444的博客 125

oracle分词索引,Oracle全文检索之Ctxcat 索引

今天测试了Ctxcat 索引,发现也不支持中文分词。SQL> Create table auction(Item_id number,Title varchar2(100),Category_id number,Price number,Bid_close date);Table createdSQL> Insert into auction values(1, 'nikon came...

weixin_39842918的博客 540

oracle 全文索引探索

ORACLE TEXT Oracle Text(oracle全文索引)为查询应用程序和文档分类应用程序中的文本提供索引,单词和主题搜索以及查看功能。常见的索引类型如下: 索引类型 描述 支持的首选项和参数 查询运算符 备注 CONTEXT 当文本由大型,连贯的文档(例如,MS Word,HTML或纯文本)组成时,请使用此索引来构建文本检索应用程序。此索引类型要求CTX_DDL.SYNC_INDEX在对基表进行插入,更新和删除操作之后 CREATEINDEX支持所有

timkey 793
上一篇: oracle全文索引之About_INDEX_THEMES操作
下一篇: oracle全文索引之停用词的通配符功能
leminsky
博客等级 码龄22年 43粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值