开发的同事发给我一个cls查询链接,问为什么肉眼都能看到的日志内容cls却搜索不出来,这里记录下排查过程。
确认检索语句
打开了发给我的链接,确实现在的查询条件没查出来数据,提示 “当前检索结果为空” 。
确认日志内容
删掉了他的查询条件,查看日志内容,确实肉眼能看到他要查询那那几个字,浏览器 Ctrl + F 都能搜索到。
确认索引配置
点击右上角 [索引配置] 按钮,进入索引配置页面。
可以看到当前全文索引是已开启的状态,讲道理输入日志内容的任何一个部分应该都能搜索到。 再看下 分词符 ,难道是分词的问题?
确认分词情况
将分词符复制出来,对比下日志中要检索的部分
@&?|#()='",;:<>[]{}/ \n\t\r\\不对,他这个中文后面的冒号有间隔,感觉是个中文的冒号,并且我鼠标悬浮上去的时候,系统确实也把它当成一个整体颜色变蓝显示了。
点击当检索条件去搜索,果然能正常搜出来。
鼠标悬浮到前面的单词上面,这个单词后面的冒号是个英文冒号,看着正常分割了。
搜索这个单词也能正常搜索
那石锤了,就是分词的原因。英文冒号能正常分词,他要搜索的那几个中文因为和中文冒号加后面的英文被分词为一个整体了,所以单独只搜索部分中文是搜索不到的。
分词符不支持中文冒号
本来想调整下分词符,加个中文冒号试下,但是不支持。。。
好吧,这样如果要查那几个中文,只能是后面发个版把那部分日志输出时中文冒号改成英文冒号了。
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。