可以在搜索词中使用单字符或多字符通配符。? 可以指定为单字符通配符,* 可以指定为多字符通配符。通配符的使用对象是单词。不能对句子进行通配符检索。
使用方法
使用单字符通配符时,使用 ? ,如下所示。
上述情况下,? 所在位置可以匹配任意 1 个字符,如 text、test 等。
使用多字符通配符时,使用 * ,如下所示。
上述情况下,* 所在位置可以匹配 0 个以上的任意字符,如 test、tests、tester 等。此外,
也可以像这样在检索词中间使用。另外,
也可以像这样在检索词开头使用通配符。
也可以指定字段进行通配符检索。下面的示例将在 title 字段中搜索包含以 te 开头、以 t 结尾的单词的文档。
如果不指定字段,将以 title 和 content 字段为对象进行通配符检索。
使用条件
使用通配符检索时,请注意以下几点。
通配符针对索引中注册的字符串 (令牌) 进行匹配。由于搜索词不会被重新解析,因此如果使用 bi-gram 等方式创建索引,日语会被当作没有意义的固定长度字符串处理,日语通配符检索将无法达到预期效果。在日语中使用通配符时,请在使用形态素分析的字段中使用。
通配符模式区分大小写。由于注册到索引中的单词通常会转换为小写,因此请在模式中使用小写字母。例如
Test*无法匹配已转换为小写注册的test。在开头添加通配符的检索 (例如
*test) 会扫描索引内的所有单词,因此可能需要较长的处理时间。