我们将 NexusDB 用于小型数据库。我们有一个定义了 FulltextIndex 的表。索引配置有以下选项:
- 字符分隔符
- ccPunctuationDash
- cc标点符号其他
用户在编辑框中输入搜索文本,然后使用以下 WHERE 子句构造 SQL 语句(当然,%s 替换为 Editbox.text):
WHERE CONTAINS(FullIdx, ''%s'')
当用户在编辑框中输入多个单词时,这会出错,因为这两个单独的单词应该嵌入到 WHERE 子句中,如下所示:
WHERE CONTAINS(FullIdx, 'word1' and 'word2')
所以我必须解析文本框的值,扫描它的空格并在这些点分割文本。这让我想知道是否可以解析全文索引的每个设置的搜索文本,使用全文索引的实际定义来创建正确的 where 子句。
因此,如果在 FulltextIndex 定义中启用了 ccPunctuationDash,则搜索文本也会在“-”上拆分。
如果您想到它,它与创建索引并标记所有字符串时的过程完全相同......
我的问题:根据 FUlltextIndex 的设置标记搜索字符串的最简单方法是什么?