SQLite3、FTS3 和停用词
在构建虚拟 FTS3 表期间,如何防止 SQLite3 不对某些关键字或“停用词”建立索引?
我不想索引的示例包括“is”、“the”、“a”等。
How do you prevent SQLite3 from not indexing certain key words, or "stop-words", during the build of a virtual FTS3 table?
Examples I'd like to not index include "is", "the", "a" etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不幸的是,没有内置的分词器来处理停止词,因此您需要在 C 中实现自己的分词器并手动从列表中过滤掉停止词,将预分词/预过滤的文本插入相关的 FTS 表列或者使用有点复杂的方案,将文本插入 FTS 列,在标记化后将其取回,对其进行过滤,然后更新列值。
Unfortunately there is no built in tokenizer that handles stop words, so you will either need to implement your own tokenizer in C and filter out the stop words from the list manually, insert pre-tokenized/pre-filtered text into the relevant FTS table column or use a somewhat convoluted scheme where you insert the text into the FTS column, fetch it back after its been tokenized, filter it and then update the column value.