javascript - 全文搜索忽略评论

标签 javascript full-text-search

我想对我的 JavaScript 代码进行全文搜索,但我通常对评论中的匹配项不感兴趣。

如何在全文搜索中忽略任何注释匹配项?这样的功能会提高我作为程序员的工作效率。

此外,我该如何做相反的事情:只在评论中搜索?

(我目前正在使用 Text Mate,但很乐意更改。)

最佳答案

查看我们的 Source Code Search Engine (SCSE) .该工具使用语言结构来索引您的代码库以指导索引;它可以为包括 JavaScript 在内的许多语言这样做。然后根据抽象语言标记来陈述搜索查询,例如,要查找涉及字符串“tax”乘以某个常数的标识符,您可以这样写:

  I=*tax* '*' N

这将在所有索引语言中搜索标识符(在每种语言中)后跟“*”标记,然后是某种数字。因为该工具理解语言结构,所以它不会被空格、格式或中间注释混淆。因为它理解评论,所以你可以只在评论中搜索(比如,对于作者):

   C=*Author* 

给定一个查询,SCSE 找到代码库(可能数百万行)中的所有命中,并将这些作为选择集提供;单击选择会拉出文件,并在中间勾勒出匹配发生的位置。

如果您坚持只搜索原始文本,SCSE 提供了 grep 风格的搜索。如果您只有一小部分文件,这仍然非常快。如果您有大量文件,这比基于语言结构的搜索慢很多。在这两种情况下,类似 grep 的搜索都会为您带来更多的点击率,通常以误报为代价(例如,在评论中找到“tax”,或找到名为“Authorization_code”的变量)。但至少您可以选择。

虽然这不能在编辑器内部运行,但您可以在找到所需的命中后在文件上启动编辑器(对于大多数编辑器)。

关于javascript - 全文搜索忽略评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311870/

相关文章:

mysql全文返回奇数

javascript - 为什么 jQuery remove 在下拉列表中添加了一个额外的元素?

javascript - 如何在 JavaScript 中的 JSON 对象声明中跳过参数或将参数传递到子节点

height - 没有 jQuery 的现代浏览器的 width() 和 height()

javascript - 使用 jQuery 切换表格行

java - Hibernate Search/Lucene - 使用单个查询搜索不相关的实体并对其进行排名

php - 如何进行部分单词匹配的多列mysql全文搜索

postgresql - 按属性匹配两个表的行

sql - 如何为 '%abc%' 搜索创建文本索引?

javascript - 在 native react 中,如何将base64图像转换为jpg然后保存到临时路径?