Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带全文搜索的sqlite不';在查询中使用空格时找不到结果_Sqlite_Full Text Search - Fatal编程技术网

带全文搜索的sqlite不';在查询中使用空格时找不到结果

带全文搜索的sqlite不';在查询中使用空格时找不到结果,sqlite,full-text-search,Sqlite,Full Text Search,我正在玩使用sqlite3存储姓名和电子邮件地址的。sqlite表使用全文搜索,由以下人员创建: CREATE VIRTUAL TABLE AddressBook USING fts4(Name, Address); 我有自己的名字“Hamish”、“Hamish D”和“Hamish Downer”。询问 select * from addressbook where addressbook match 'hamish'; 都找到了。然而 select * from addressbook

我正在玩使用sqlite3存储姓名和电子邮件地址的。sqlite表使用全文搜索,由以下人员创建:

CREATE VIRTUAL TABLE AddressBook USING fts4(Name, Address);
我有自己的名字“Hamish”、“Hamish D”和“Hamish Downer”。询问

select * from addressbook where addressbook match 'hamish';
都找到了。然而

select * from addressbook where addressbook match 'hamish d';
只查找具有确切名称“Hamish D”的条目,但不查找具有名称“Hamish Downer”的条目。我可以通过以下方式实现我的期望:

select * from addressbook where name like 'hamish d%';
但是我想使用匹配版本来匹配这两列。知道这是怎么回事吗?或者如何让match按我的意愿工作?

阅读

询问

select * from addressbook where addressbook match 'hamish';
... addressbook match 'hamish d'
查找包含两个单词
hamish
d
的记录。您可能希望搜索短语
hamish d
,您可以使用它

... addressbook match '"hamish d"'
要搜索前缀,请使用
*

... addressbook match '"hamish d*"'
读这本书

询问

select * from addressbook where addressbook match 'hamish';
... addressbook match 'hamish d'
查找包含两个单词
hamish
d
的记录。您可能希望搜索短语
hamish d
,您可以使用它

... addressbook match '"hamish d"'
要搜索前缀,请使用
*

... addressbook match '"hamish d*"'

谢谢-我在那一长页的文档中有点迷路了。谢谢-我在那一长页的文档中有点迷路了。