Ham*_*ner 1 sqlite full-text-search
我正在玩那种使用sqlite3来存储姓名和电子邮件地址的abook.sqlite表使用全文搜索,由以下内容创建:
CREATE VIRTUAL TABLE AddressBook USING fts4(Name, Address);
Run Code Online (Sandbox Code Playgroud)
我的名字是"Hamish","Hamish D"和"Hamish Downer".查询
select * from addressbook where addressbook match 'hamish';
Run Code Online (Sandbox Code Playgroud)
找到他们所有.然而
select * from addressbook where addressbook match 'hamish d';
Run Code Online (Sandbox Code Playgroud)
仅查找具有确切名称"Hamish D" 的条目,但未找到名称为"Hamish Downer"的条目.我可以得到我期望的:
select * from addressbook where name like 'hamish d%';
Run Code Online (Sandbox Code Playgroud)
但我想使用匹配版本来匹配两列.知道这里发生了什么吗?或者如何让比赛按我的意愿工作?
阅读文档.
查询
... addressbook match 'hamish d'
Run Code Online (Sandbox Code Playgroud)
发现拥有这个两个词的记录hamish和d.您可能希望搜索该短语hamish d,您可以使用该短语
... addressbook match '"hamish d"'
Run Code Online (Sandbox Code Playgroud)
要搜索前缀,请使用*:
... addressbook match '"hamish d*"'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |