名前とメールアドレスを保存するためにsqlite3を使用するnotmuch-abookで遊んでいます。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%';
しかし、両方の列で一致するように一致バージョンを使用したいと思います。ここで何が起こっているのか分かりますか?または、私が望むようにマッチを動作させるにはどうすればよいですか?