NGRAM 分词器 如果配置分词最小字符和最大字符,急救

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】V4.3.5
【问题描述】NGRAM 分词器 如果配置分词最小字符和最大字符,急救
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您的问题,这似乎与 OceanBase 的 NGRAM 分词器配置有关,但 obdiag 主要用于诊断和收集与性能、故障等相关的信息,并不直接用于配置分词器。对于您提到的 NGRAM 分词器最小字符和最大字符的配置问题,通常是在创建文本索引或者配置相关参数时进行设置。

不过,为了确保没有其他潜在的问题影响到分词器的正常工作,我们可以先通过 obdiag 收集一些基础信息来排查是否存在其他异常情况。建议先从集群的基础信息开始:

日志采集场景: 集群基础信息
日志采集命令: obdiag gather scene run --scene=observer.base

请您执行上述命令并将采集到的日志提供给我们,以便确认是否有其他异常影响了分词器的工作。同时,请您提供以下信息以帮助我们更好地理解并解决您的问题:

  1. 您当前使用的 NGRAM 分词器的具体版本或类型。
  2. 您期望设置的最小字符数和最大字符数是多少?
  3. 是否在修改分词器配置后遇到了特定的错误信息或警告?如果有,请提供具体的报错内容。
  4. 当前是否已经尝试过某些配置方法,如果有,请描述具体的操作步骤以及结果。

针对 NGRAM 分词器的配置,您可以参考官方文档中关于创建全文索引时对分词器参数的说明,或者直接使用 CREATE INDEX 语句中的相关选项来指定最小和最大字符数。如果您能提供更多细节,我们将能够给出更准确的帮助。

附上敏捷诊断工具 obdiag 使用帮助链接

你好这边查询到ngram令牌大小可以使用ngram_token_size配置选项进行配置,该选项的最小值为1,最大值为10。

刚刚看了,没有查到有这个环境变量

当前版本应该不支持,需要等一下435bp1版本

根据文档库中的信息,对于 NGRAM 分词器最小字符和最大字符的配置,在 OceanBase 社区版中并没有直接提供名为 ngram_token_size 的环境变量来进行设置。NGRAM 分词器的相关配置通常是在创建全文索引时通过特定参数指定。

如果您需要配置 NGRAM 分词器的最小和最大字符数,可以参考以下步骤:

  1. 创建或修改全文索引时指定分词器参数
    • 在创建表或者添加全文索引时,可以通过 CREATE INDEX 或者 ALTER TABLE ... ADD FULLTEXT INDEX 语句来指定 NGRAM 分词器及其参数。
    • 具体来说,您可以在创建索引时使用类似如下的 SQL 语句(注意:具体的参数名称和用法请参照官方文档):
CREATE FULLTEXT INDEX idx_name ON table_name(column_name) 
WITH PARSER ngram (min_token_size, max_token_size);
  1. 查看现有索引的分词器配置

    • 如果您想了解当前已有的全文索引所使用的分词器及其配置,可以查询系统表或者使用 SHOW CREATE TABLE 命令查看表结构定义。
  2. 确认版本兼容性

    • 确保您使用的 OceanBase 版本支持上述操作,并且查阅对应版本的官方文档获取最准确的信息。
  3. 参考官方文档

    • 对于更详细的配置指南,请参阅 OceanBase 官方文档,其中包含了关于全文索引和分词器配置的具体说明。

如果以上方法仍无法满足您的需求,建议联系 OceanBase 的技术支持团队以获得进一步的帮助和支持。基于我的内在知识,OceanBase 社区版可能不支持直接通过环境变量配置 NGRAM 分词器的最小和最大字符数,而是需要在创建或修改全文索引时进行相应设置。

希望这些信息能帮助到您!如果有更多问题,欢迎继续提问。

详情请参考:

  1. range_optimizer_max_mem_size
  2. 配置最佳实践
  3. 修改租户系统变量
  4. oceanbase.DBA_OB_SYS_VARIABLES
  5. oceanbase.CDB_OB_SYS_VARIABLES
  6. 查看租户系统变量
  7. max_allowed_packet
  8. wait_timeout
  9. tenant_task_queue_size

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)