搜索使用fts5
< phrase> := string [*]
< phrase> := < phrase> + < phrase>
< neargroup> := NEAR ( < phrase> < phrase> … [, N] )
< query> := [< colspec> :] < phrase>
< query> := [< colspec> :] < neargroup>
< query> := ( < query> )
< query> := < query> AND < query>
< query> := < query> OR < query>
< query> := < query> NOT < query>
全文检索概念:它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。使得搜索速度在数据量大的情况下得到提升。
常用搜索技巧
空格、加号、AND : 都代表的是And(且)的关系。下面三个搜索等效
'one two three'
'one + two + three'
'one AND two AND three'
OR: 或
例子:one OR two ,查询出现one或two的内容
NOT:非
例子:one NOT two,查询出现one但不出现two的内容
^:以什么为开头
例子:^one,查询以one开头的内容
如果搜索内容中出现特殊字符“.”、“-”等等,需要用英文双引号包裹,比如2022.04.23就需要”2022.04.23”
-
是 FTS 的查询语法操作符,如果查询内容中包括-,就会导致报错,搜不到内容,需要用引号包裹,如”one-two”才能正常搜索*
是通配符,不过貌似在思源搜索中没用,因为默认就相当于在搜索项尾部加了。- 思源暂不支持英文单词的全字搜索,例如想搜cat这个单词,可能会搜到其他单词中间含有cat三个字的条目