2.3. 全文本查询
您可以使用 Ickle 查询语言执行全文本搜索。
2.3.1. fuzzy 查询
要执行模糊查询 add ~
和一个整数,代表术语后所使用的术语的距离。例如
FROM sample_bank_account.Transaction WHERE description : 'cofee'~2
2.3.2. 范围查询
要执行范围查询,请在一对括号内定义给定边界,如下例所示:
FROM sample_bank_account.Transaction WHERE amount : [20 to 50]
2.3.3. 短语查询
可以通过引号中的引号来搜索一组单词,如下例所示:
FROM sample_bank_account.Transaction WHERE description : 'bus fare'
2.3.4. 代理查询
要执行代理查询,请在特定距离中查找两个术语,请在短语后添加一个 ~
和距离。例如,以下示例会找到取消和费用的词语,只要它们没有超过 3 个单词:
FROM sample_bank_account.Transaction WHERE description : 'canceling fee'~3
2.3.5. 通配符查询
要搜索 "text" 或 "test",请使用 ?
单字符通配符搜索:
FROM sample_bank_account.Transaction where description : 'te?t'
要搜索 "test", "tests", 或 "tester",请使用 sVirt
多字符通配符搜索:
FROM sample_bank_account.Transaction where description : 'test*'
2.3.6. 正则表达式查询
正则表达式查询可以通过指定 /
之间的模式来执行。Ickle 使用 Lucene 的正则表达式语法,因此可以使用以下内容搜索单词 moat
或 boat
:
FROM sample_library.Book where title : /[mb]oat/
2.3.7. 提升查询
在术语后添加 ^
来增加给定查询的适用程度,可以提高术语的提高因素。例如,要搜索包含 beer 和 wine 的标题,它们对 beer 的适用程度高,可以使用以下内容:
FROM sample_library.Book WHERE title : beer^3 OR wine