程序员友好的搜索引擎?

时间:2009-12-01 20:24:59

标签: search search-engine

Google对使用$和#等字符搜索逐字字符串不友好。是否有支持搜索逐字字符串的搜索引擎?

我知道前一段时间被问过的this question,但没有得到任何好的答案。如果我仍然无法得到答案,我准备好了。当然,完全有可能没有一个,但我想确定:)

编辑:报价不起作用。 Google甚至在引用时也会删除符号。

示例查询:为$<>制作“$<” makefile中的变量。

11 个答案:

答案 0 :(得分:75)

试试http://www.symbolhound.com

这似乎可以解决您的问题。 SymbolHound是一个搜索引擎,不会忽略谷歌等网络查询中的符号或特殊字符。它也不是源代码搜索。希望有所帮助!

答案 1 :(得分:3)

无法帮助你,但至少可以为你提供一个愿景(也许同一个创业公司会意识到这一点)。

Assieme是用于软件文档的专用搜索引擎的研究原型。想法是搜索软件文档是一项专门的任务,需要专门的搜索引擎。例如,在搜索APi文档时,引擎还应从例如博客帖子中提取有效示例并将其显示给我们。等等。

有关完整论文,请参阅:"Assieme, Finding and Leveraging Implicit References in a Web Search Interface for Programmers"

PS:如果您对最新的软件搜索研究感兴趣,可以查看SUITE workshop系列。我们也在推特上:)

答案 2 :(得分:2)

你试过Yahoo BOSS吗?这是一个搜索API,目前是免费的(需要注册),通过它可以使用雅虎的网络搜索。如果您转义所有相关字符as described in the FAQ,则可以搜索任意逐字字符串。

答案 3 :(得分:2)

http://searchco.de是关闭Google代码搜索的最佳选择。

您可以执行以下搜索:

$< http://searchco.de/?q=$%3C&cs=on

++ http://searchco.de/?q=%2B%2B&cs=on

<< http://searchco.de/?q=%3C%3C+lang%3Ac%2B%2B&cs=on

>> http://searchco.de/?q=%3E%3E&cs=on

$ PATH http://searchco.de/?q=$PATH&cs=on

“$ PATH” http://searchco.de/?q="$PATH"&cs=on

\ n”个 http://searchco.de/?q=\n“&安培; CS =上

%PATH% http://searchco.de/?q=%PATH%&cs=on

%TEMP% http://searchco.de/?q=%TEMP%&cs=on

/根 http://searchco.de/?q=/root&cs=on

C:\ http://searchco.de/?q=C:\&cs=on

\\ 127.0.0.1 http://searchco.de/?q=\\127.0.0.1&cs=on

的http:// http://searchco.de/?q=http://&cs=on

可以在代码中执行完全搜索而不是默认搜索(只需在搜索栏中取消标记复选框或从搜索URL中删除cs参数): http://searchco.de/?q=test 但是在这个引擎中完全搜索并不完美。

可以使用基本的POSIX正则表达式:不要忘记阅读features of search code engine http://searchco.de/?cs=on&q=/query.*/ http://searchco.de/?q=/a{2,3}/ http://searchco.de/?q=%2F[mn].%3Fc%2F&cs=on

您可以指定编程语言: http://searchco.de/languages/

searchco.de的浏览器插件位于:http://mycroft.mozdev.org/search-engines.html?name=searchco.de (选择默认的searchco.de,而不是完整的)

其他好的简单替代方案是:http://symbolhound.com

答案 4 :(得分:1)

答案当然是谷歌:-) 特别是Google Code Search。例如,请参阅针对您的请求的查询:(编辑:修复了链接)

>>> http://www.google.com/codesearch?q=>>>

$ http://www.google.com/codesearch?q=\$

# http://www.google.com/codesearch?q=\#

编辑:好的,从您对该问题的最新评论,我现在看到了您的观点。这对许多人来说都是有用的(对我而言,在我生命中的极少数时间,我可能需要它)。但是,据我所知,没有办法做到这一点。如果您在论坛中搜索“符号搜索”,您会发现许多投诉,例如this

我发现最接近的是这个,它非常乐意搜索符号(但只在相对较小的社区中,这不是你想要的): http://perlmonks.org/

为什么我们这样的程序员搜索引擎?

答案 5 :(得分:0)

以下是我使用的内容:

www.koders.com - 它为几个开源项目编制索引,因此,如果我想知道某些事情是如何完成的,那么它只需要在源代码中找到我需要的东西。它的效果非常好。

答案 6 :(得分:0)

如果覆盖的更多,这个会很酷....它没有特别得到你的答案,但我发现它很有用

http://start.gotapi.com/

http://www.gotapi.com/html用于html版本

你也可以去here并查看更多信息,显然是

答案 7 :(得分:0)

这可能不是你想要的答案,但我真的很同情这个问题,以及这个问题似乎遇到的奇怪的超然。

在这种情况下,您已经掌握了一些有关您正在寻找的信息。您正在寻找make文件的某些文档页面的某些特定部分。

这是makefile的文档 http://www.gnu.org/software/make/manual/make.html

方便的是,整个文档都在一个巨大的html页面上。在firefox中,按control+f(mac上的命令+ f),在页面小部件中调出搜索。在firefox的搜索字段中,键入您要查找的符号。它会报告37场比赛,你可以通过它们进行搜索。

有时候,符号序列是惯用的,不在语言的文档中。外人如何知道,例如javascript中的$通常是指jquery,原型或其他一些包含的库?

在这种情况下,可能有一个关于堆栈溢出的问题可以解释这个问题。但是,搜索$ symbol的stackoverflow不起作用。你可以问问题,你可能会得到一个答案。 (正如你在这种情况下所做的那样)。

我认为我们应该提出stackoverflow功能请求?这不是一般的网络搜索,但是stackoverflow具有独特的优势,能够以一般网络不是这样的方式回答这样的问题。

编辑:在浏览meta.stackoverflow.com后,我发现对此的请求已经存在:https://meta.stackexchange.com/questions/19870/we-need-to-be-able-to-search-for-punctuation-symbols

如果按“问一个问题”并写下

,似乎就是这样
What does the symbol [symbol] in [language] mean?
标题中的

,然后将光标移动到正文,SO会提示已经提出的一堆问题,这比使用“搜索”要好得多。您可能会在那里找到任何与符号相关的查询的答案。如果您不这样做,请继续发布您的问题。我敢肯定有大约10个过分狂热的书呆子会急切地告诉你这个问题已经被问到了,并指出你的重复问题在哪里,而且只是以一些潜在的投票为代价!

Stack Overflow应该真的添加此功能。它没有,这太荒谬了。重复问题仅仅是Stackoverflow因没有此功能而必须接受的成本。

答案 8 :(得分:0)

我找到的最接近的是Cuil,你的标准与找到“make $”的完全匹配一样接近。不幸的是,他们是为了快速致富的网站。但它比谷歌更好用C#和C ++这样的术语。

答案 9 :(得分:-1)

开源搜索引擎的索引器比其他任何人都要灵活得多。如果其他人没有编写允许符号的tokenizer,那么编写自己的符号就很容易了。我会看看Solr / Lucene,Xapian,Sphinx和Ferret。

此外,没有讨厌的Google AJAX API 64结果限制!

答案 10 :(得分:-3)

好的,所以让我坚持我的2c,看看我是否可以解决这个问题。您可能需要进行三次搜索:

  1. 什么是“$<” ?
  2. 文字字符串如$ foo或<<<被搜查?
  3. 如果我不知道某些内容的名称,而我的搜索引擎不允许我搜索文字字符串,我该如何搜索呢?
  4. 第一种情况很简单,它是make进程所需构建目标所需的第一个先决条件的名称。例如,请参阅http://www.gnu.org/software/make/manual/make.html#Automatic-Variables

    第二种情况非常困难。 Google表示,除极少数例外情况外,标点符号会被忽略(请参阅http://www.google.com/support/websearch/bin/answer.py?answer=134479)。因此,在“++”和“<<”等代码中排除了许多小原子的东西。当然,谷歌必须对此应用一些智能,例如它们允许单独搜索“C ++”作为一个单元。虽然如果C ++刚从互联网上消失,世界可能会变得更好:)

    第三个案件属于图书管理与哲学之间的某个地方。维特根斯坦毫无疑问会说“我们不能搜索那些我们不能说的话”,但实际上你别无选择,只能考虑可能描述你元素的替代术语。例如,“atom”,“variable”,“operator”等。

    希望有所帮助!