思源笔记社区正在搭建中,现邀您共建
SiYuan Community is under construction. Join us to co-build.
foo
并且不包含关键字 bar
的查询语法为 foo NOT bar
。AND
、OR
和 NOT
组合为新的查询"
包裹起来的字符。其中如果需要使用 "
本身,则可通过 SQL 风格转义(再加一个"
),例如 "foo""bar"""
将搜索命中 foo"bar"
AND
、OR
和 NOT
字符组成,并且这些字符必须是:A-Za-z
),或者0-9
),或者_
,或者"
包裹起来,比如包含了 -
、*
等符号的字符串。+
进行连接。一个短语是由一些记号(Token)有序构成,这些记号由用户的输入文本通过分词器处理得到。思源使用的分词器为了让中文搜索好用(支持单字搜索),所以实现方式是按照字分词的,也就是说每个汉字或者英文字母都会被拆分为一个记号。这对 +
连接会产生一些影响,所以如果不确定的话,建议不要使用 +
组合多个短语。AND
、OR
和 NOT
组合为新的查询。操作符 | 功能 |
---|---|
query1 和 query2 同时匹配 | |
query1 或者 query2 匹配 | |
query1 匹配同时 query2 不匹配 |
()
可以组合查询的优先级,例如:
AND
连接,比如:
MATCH '{content name alias memo}:" + query
,query
即用户输入部分,对于列过滤器 {content name alias memo}:
是通过 设置 - 搜索 - 属性 生成的。blocks_fts
:按字符原样分词blocks_fts_case_insensitive
:将英文字母转换为小写分词