我正在编写搜索代码来搜索代码,但我很难找到合适的分析器来使用。我尝试过使用空白分析器,但最终会出现问题dbo.My_Procedure
并搜索" my_procedure"应该工作以及搜索" .My_Procedure"。我的想法是拆分特殊字符,但也将它们存储到自己的标记中。但是如果你把my_procedure写成一个搜索它只会在文件中的任何地方查找我的,_和过程,除非你用引号括起来(即使用户看起来它只是一个单词)。人们采用什么方法来分析代码?
答案 0 :(得分:0)
如果您的代码是Java,那么根据Java命名约定,您的方法和类应该是驼峰式的,因此您不应该使用my_search
之类的名称,而应该使用mySearch
。
如果是这种情况 - 您可以使用(默认)standard analyzer使用单词边界作为分割的分隔符。
那就是说,如果没有办法绕过它,你必须在标记化部分考虑my_search
之类的名称,你就可以实现自己的custom analyzer。
This answer显示了设置自定义分析器的示例。