SQLite FTS3 模拟 LIKE somestring%
我正在编写一个字典应用程序,需要在打字时进行通常的单词建议。
LIKE somestring%
相当慢(在约 100k 行表上约 1300 毫秒),所以我转向了 FTS3。
问题是,我还没有找到从字符串开头搜索的合理方法。
现在我正在执行类似的查询
SELECT word, offsets(entries) FROM entries WHERE word MATCH '"chicken *"';
,然后解析代码中的偏移字符串。
还有更好的选择吗?
I'm writing a dictionary app and need to do the usual word suggesting while typing.
LIKE somestring%
is rather slow (~1300ms on a ~100k row table) so I've turned to FTS3.
Problem is, I haven't found a sane way to search from the beginning of a string.
Now I'm performing a query like
SELECT word, offsets(entries) FROM entries WHERE word MATCH '"chicken *"';
, then parse the offsets string in code.
Are there any better options?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是,请确保在字段
word
上设置索引并使用而不是LIKE或MATCH或GLOB
Yes, make sure to set the index on field
word
and useinstead of LIKE or MATCH or GLOB