语法关键字: + - &$ || ! () {} [] ^ " ~ * ? : \
。
查询 Term
- 单一查询词,eg:
"hello"
- 词组 phrase,eg:
"hello world"
查询 Field
使用域名和关键字:
,:
仅对紧跟其后的查询词其作用,或者用"
引起来。
eg: title:"just do it"
。
通配符 Wildcard
?
: 表示单个字符。*
: 表示多个字符。
通配符不能出现在查询词的开始。
eg: te?t
、test*
。
模糊查询 Fuzzy
模糊查询时基于 Levenshtein Distance 编辑距离,当两个词的差别小于某个比例时,就算匹配。
eg: helol~0.8
,表示差别小于 0.2,相似度大于 0.8 才算匹配。
临近查询 Proximity
词组后面紧跟~n
,表示词组中的多个词之间的局里之和不超过 n,则满足查询。
词间距离,即词组中词为了和目标词相同所需的最小移动次数。
eg: 索引中的词组apple boy cat
,查询为"boy apple cat"~2
可以匹配,但是"boy apple cat"~1
则不能匹配。
区间查询 Range
分为包含边界[A TO B]
和不包含边界{A TO B}
。
增加 Term 权重 Boost
通过在词的后面使用^n
来设定词的权重,默认是 1。
布尔操作
AND OR NOT
和 + -