【问题标题】:How do I use the snippet() function using a FTS5 virtual table in SQLite?如何在 SQLite 中使用 FTS5 虚拟表来使用 snippet() 函数?
【发布时间】:2022-07-14 04:43:34
【问题描述】:

SQLite documentation for FTS5中声称必须将5个参数传递给sn-p函数:

sn-p() 函数与 highlight() 类似,不同之处在于 它不会返回整个列值,而是自动选择 并提取一小段文档文本进行处理并返回。 sn-p() 函数必须在后面传递五个参数 表名参数:

  1. 一个整数,指示 FTS 表的索引 要选择的列 从返回的文本。列从左到右编号 从零开始。负值表示该列应 被自动选中。
  2. 在每个短语匹配之前插入的文本 返回的文本。
  3. 在每个短语匹配后插入的文本 返回的文本。
  4. 添加到所选文本开头或结尾的文本 以表示 返回的文本不会出现在其列的开头或结尾, 分别。
  5. 返回文本中的最大标记数。这个 必须更大 大于零且等于或小于 64。

我试过了,但它不起作用:

snippet(1, '<b>', '</b>', '...', 8)

如何在 SQLite 中将 sn-p() 函数与 FTS5 虚拟表一起使用?

【问题讨论】:

    标签: sqlite full-text-search code-snippets fts5


    【解决方案1】:

    我不明白的是,我还需要将表名作为第一个参数传递,像这样:

    snippet(versesfts, 1, '<b>', '</b>', '...', 8) 
    

    希望这可以为某人节省几个小时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-20
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 2019-08-29
      • 2011-05-20
      • 2022-01-01
      相关资源
      最近更新 更多