我在 SQLite 中有两个表:
CREATE TABLE article (body TEXT)
CREATE TABLE article_word (
word TEXT,
article_rowid INTEGER,
FOREIGN KEY(article_rowid) REFERENCES article(rowid),
PRIMARY KEY(word, article_rowid)
)
该程序将长字符串存储在 article.body
中,并且对于字符串中的每个单词,它将该单词的小写版本以及文章的 rowid
存储在 article_word
。
我想让用户通过单词中的第一个不区分大小写的字符来搜索文章,因此搜索 baz
会生成包含 foobar Bazquux spambacon
的文章。
如何修改表/添加更多表(如果需要)并查询它们以最佳匹配?是否
从文章 a、article_word w 中选择 a.rowid、a.body,其中 w.word LIKE "baz%"AND a.rowid = w.article_rowid
利用 article_word.word
上的 PRIMARY KEY
索引,还是简单地搜索每一行?
最佳答案
根据您的需要使用 NSPredicate 检索特定属性 要求,您也可以像核心数据中那样使用 Sqlite 进行映射。
关于sqlite - 有效匹配索引 SQLite 字段的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966678/