Programmiererfreundliche Suchmaschine? [geschlossen]


123

Google ist unfreundlich bei der Suche nach wörtlichen Zeichenfolgen mit Zeichen wie $ und #. Gibt es eine Suchmaschine, die die Suche nach wörtlichen Zeichenfolgen unterstützt?

Mir ist diese Frage bekannt , die vor einiger Zeit gestellt wurde, aber keine guten Antworten erhalten hat. Ich bin bereit, ein Kopfgeld zu zahlen, wenn ich immer noch keine Antwort bekomme. Natürlich ist es durchaus möglich, dass es keinen gibt, aber ich möchte sicher sein :)

EDIT: Zitate funktionieren nicht . Google entfernt Symbole, auch wenn sie in Anführungszeichen stehen.

Beispielabfrage: make "$ <" für die Variable $ <in Makefiles.


6
Ich möchte das Internet wie bei Google durchsuchen, hauptsächlich zur Dokumentation. Ich suche keinen Code.
static_rtti

5
Ich suche nach Codefragmenten in der Dokumentation. Codesuchmaschinen funktionieren bei mir nicht, weil sie viele irrelevante Quellcodes ohne Dokumentation zurückgeben, was für mich nutzlos ist.
static_rtti

4
Im Fall von "make $ <" lautet der Anwendungsfall wie folgt: Ich stolpere in einem Makefile über $ <und möchte wissen, was es tut. Ich weiß nicht, wie es heißt, deshalb kann ich Google nicht dafür verwenden. Wenn Sie mir eine gute Lösung für dieses spezielle Problem geben können, ist das Kopfgeld für Sie .
static_rtti

1
Wenn Sie diese Frage noch nicht gestellt haben, sind Sie kein Programmierer.
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

Antworten:


77

Versuchen Sie es unter http://www.symbolhound.com .

Dies scheint Ihr Problem zu lösen. SymbolHound ist eine Suchmaschine, die Symbole oder Sonderzeichen in Webabfragen nicht wie Google ignoriert. Es ist auch keine Quellcodesuche. Hoffentlich hilft das!


6
Scheint, als würde es nicht mehr funktionieren ...
Dmitry Trofimov

3
"funktioniert nicht" wie in der Anzeige der leeren Ergebnisseite
serv-inc

2
Wenn der Symbolhound nicht verfügbar ist, versuchen Sie es mit Stackse . Ich bin der Autor und es ist in Arbeit, aber es ist jetzt verwendbar.
Ren

4

Kann dir nicht helfen, kann dir aber zumindest eine Vision geben (vielleicht wird das gleiche Startup es verwirklichen).

Assieme ist der Forschungsprototyp einer speziellen Suchmaschine für die Softwaredokumentation. Die Idee ist, dass die Suche nach Softwaredokumentation eine spezielle Aufgabe ist, die spezielle Suchmaschinen benötigt. Wenn Sie beispielsweise nach APi-Dokumentation suchen, sollte die Engine auch gültige Beispiele aus z. B. Blog-Posts extrahieren und uns zeigen. Und so weiter.

Das vollständige Dokument finden Sie unter: "Assieme, Auffinden und Nutzen impliziter Referenzen in einer Websuchschnittstelle für Programmierer".

PS: Wenn Sie an den neuesten Forschungsergebnissen zur Software-Suche interessiert sind, können Sie sich die SUITE-Workshop- Reihe ansehen . Wir sind auch auf Twitter :)


Hmm, Assieme sieht interessant aus, aber es war offensichtlich nur für Java und scheint in keiner Form verfügbar zu sein ...
SamB

2

Haben Sie Yahoo BOSS ausprobiert ? Es handelt sich um eine Such-API, die derzeit kostenlos ist (Anmeldung erforderlich) und über die Sie die Websuche von Yahoo verwenden können. Wenn Sie alle relevanten Zeichen wie in den FAQ beschrieben umgehen , können Sie nach beliebigen wörtlichen Zeichenfolgen suchen.


1
Diese Seite, auf die Sie verlinken, sagt nichts dergleichen aus. Es gibt nur eine Liste von Zeichen, die maskiert werden müssen, wenn sie in einer URL in BOSS-Argumentwerten verwendet werden.
Mercator


0

Dies ist wahrscheinlich nicht genau die Antwort, nach der Sie suchen, aber ich habe wirklich Verständnis für dieses Problem und die seltsame Zurückhaltung, auf die diese Frage zu stoßen scheint.

In diesem Fall haben Sie bereits einige Informationen darüber, wonach Sie suchen. Sie suchen nach einem bestimmten Teil einer Dokumentationsseite zum Erstellen von Dateien.

Hier ist die Dokumentation für Makefiles http://www.gnu.org/software/make/manual/make.html

Praktischerweise befindet sich die gesamte Dokumentation auf einer riesigen HTML-Seite. Drücken Sie in Firefox control+f(Befehl + f auf Macs), um die Suche im Seiten-Widget aufzurufen. Geben Sie im Suchfeld von Firefox das gesuchte Symbol ein. Es werden 37 Übereinstimmungen gemeldet, die Sie einzeln durchsehen können.

Manchmal ist die Reihenfolge der Symbole jedoch idiomatisch und nicht in der Dokumentation für eine Sprache enthalten. Wie würde ein Außenstehender beispielsweise wissen, dass sich ein $ in Javascript normalerweise auf jquery, einen Prototyp oder eine andere enthaltene Bibliothek bezieht?

In diesem Fall gibt es wahrscheinlich irgendwo eine Frage zum Stapelüberlauf, die dies erklären würde. Das Durchsuchen des Stackoverflow nach einem $ -Symbol funktioniert jedoch nicht. Sie könnten einfach die Frage stellen, Sie werden wahrscheinlich eine Antwort bekommen. (wie Sie es in diesem Fall getan haben).

Ich denke, wir sollten vielleicht eine Stackoverflow-Feature-Anfrage stellen? Es handelt sich nicht um eine allgemeine Websuche, aber der Stackoverflow ist einzigartig positioniert, um Probleme wie diese so zu beantworten, wie es das allgemeine Web nicht tut.

Bearbeiten: Nachdem ich mich auf meta.stackoverflow.com umgesehen hatte, stellte ich fest, dass eine Anfrage dafür bereits besteht: /meta/19870/we-need-to-be-able-to-search-for- Interpunktionssymbole

Es scheint, dass, wenn Sie "eine Frage stellen" drücken und schreiben

What does the symbol [symbol] in [language] mean?

Bewegen Sie dann im Titel den Cursor auf den Textkörper. SO schlägt eine Reihe von Fragen vor, die bereits gestellt wurden und die viel bessere Ergebnisse liefern als die Verwendung der "Suche". Dort finden Sie wahrscheinlich die Antwort auf alle symbolbezogenen Fragen. Und wenn nicht, posten Sie Ihre Frage. Ich bin mir sicher, dass es ungefähr 10 übereifrige Nerds gibt, die Ihnen gerne mitteilen, dass die Frage bereits gestellt wurde, und Sie darauf hinweisen, wo sich die doppelten Fragen befinden, und dies nur auf Kosten einiger möglicher Abstimmungen!

Der Stapelüberlauf sollte diese Funktion jedoch wirklich hinzufügen. Es ist lächerlich, dass es nicht so ist. Doppelte Fragen sind lediglich die Kosten, die Stackoverflow akzeptieren muss, wenn diese Funktion nicht verfügbar ist.


0

Das nächste, das ich je gefunden habe, ist Cuil, das mit Ihren Kriterien so nah kommt wie das Finden genauer Übereinstimmungen für "make $". Leider sind sie für schnell reich werdende Websites. Aber es ist besser als Google mit Begriffen wie C # und C ++.


0

Die Antwort lautet natürlich Google :-) Insbesondere Google Code Search . Siehe zum Beispiel die Abfragen für Ihre Anfragen: ( Bearbeiten: Links behoben)

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

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

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

EDIT: Ok, von Ihrem letzten Kommentar bis zur Frage sehe ich Ihren Standpunkt jetzt. Dies wäre für viele nützlich (für mich nur die wenigen Male in meinem Leben, die ich möglicherweise brauche). Aber soweit ich weiß, gibt es keine Möglichkeit, dies zu tun. Wenn Sie in den Foren nach „Symbolsuche“ suchen werden Sie viele Beschwerden wie finden diese .

Das nächste, was ich gefunden habe, ist das, das ziemlich gerne nach Symbolen sucht (aber nur innerhalb dieser relativ kleinen Community, nach der Sie nicht suchen): http://perlmonks.org/

Warum schreiben wir nicht so eine Programmierersuchmaschine?


10
Ich möchte das Internet wie bei Google durchsuchen, hauptsächlich zur Dokumentation. Ich suche keinen Code.
static_rtti

1
Wir könnten vielleicht eine solche Suchmaschine schreiben. Dann müssten wir das Internet indizieren, was ein größeres Problem darstellt. Ich glaube nicht, dass sich viele von uns Rechenzentren in Google-Größe mit Bandbreite auf Google-Ebene leisten können, und genau das müssten wir tun, um loszulegen.
David Thornley

5
Sicherlich brauchen wir weder ihre Bandbreite noch ihre Verarbeitungsleistung oder Geschwindigkeit. Programmierer sind ein winziger Teil der Webnutzer, und auf einen solchen Dienst könnten sie gerne mehr Sekunden warten als bei einer herkömmlichen Google-Suche. Sicherlich kann Speicher ein Problem sein, aber wenn wir einen intelligenten Weg finden, nur "programmierbezogene" Seiten zu indizieren, sind wir festgelegt: Ich glaube, dass ein kleiner Cluster ziemlich einfach damit umgehen kann! Die Entwicklung des richtigen Algorithmus und des richtigen Rangsystems könnte schwierig sein.
Davide

1
Wurde diese Antwort aufgrund von Kopfgeld automatisch akzeptiert? (Können Sie es nicht akzeptieren, jetzt, wo Kopfgelder nicht automatisch akzeptieren?)
SamB

32
Dieser Service ist nicht mehr verfügbar. Die Google-Codesuche wurde am 15. Januar 2012 im Rahmen ihres "Fall Sweep" geschlossen.
Animuson

0

Folgendes benutze ich:

www.koders.com - Es indiziert mehrere Open-Source-Projekte. Wenn ich also wissen möchte, wie etwas gemacht wird, findet es einfach im Quellcode, was ich brauche. Und es funktioniert wirklich gut.


1
Beantwortet meine Frage nicht, bitte lesen Sie die Frage und die Kommentare sorgfältig durch, bevor Sie antworten.
static_rtti

Eigentlich habe ich Ihre Frage beantwortet :) Sie haben nach einer Suchmaschine gefragt, die Abfragen wie <$ usw. unterstützen könnte. Und der, den ich dir gezeigt habe, macht genau das! :) Eigentlich und mehr, denn da es sich um eine Entwickler-Suchmaschine handelt, ist der gesamte Inhalt, den Sie erhalten, genau Code. Der Code, den Sie benötigen + die dazugehörigen Kommentare. Vielleicht solltest du es versuchen.
Kico Lobo

Ich habe es versucht, ich wusste schon viel darüber, aber es beantwortet meine Frage nicht (lesen Sie die Erläuterungen, um zu verstehen, warum).
static_rtti

-1

Die Open-Source-Suchmaschinen haben viel flexiblere Indexer als alle anderen. Wenn jemand anderes keinen Tokenizer geschrieben hat, der Symbole zulässt, ist es einfach, einen eigenen zu schreiben. Ich würde mir Solr / Lucene, Xapian, Sphinx und Ferret ansehen.

Auch kein lästiges Google AJAX API 64-Ergebnis-Limit!


3
Er fragt nicht nach einem Indexer, den er selbst betreiben kann
Reinierpost

1
Er fragt auch nicht nach einem Indexer, den er selbst betreiben kann. Alternative Lösungen sind immer noch Lösungen.
Justin Johnson

-3

OK, also lass mich mein 2c reinstecken und sehen, ob ich das klären kann. Möglicherweise müssen Sie drei Suchanfragen durchführen:

  1. Was ist "$ <"?
  2. Wie können wörtliche Zeichenfolgen wie $ foo oder <<< gesucht werden?
  3. Wenn ich den Namen von etwas nicht kenne und meine Suchmaschine mich nicht nach wörtlichen Zeichenfolgen suchen lässt, wie kann ich danach suchen?

Der erste Fall ist einfach, es ist der Name der ersten Voraussetzung, die ein Make-Prozess für das zu erstellende Ziel benötigt. Siehe zum Beispiel http://www.gnu.org/software/make/manual/make.html#Automatic-Variables .

Der zweite Fall ist ziemlich schwer. Laut Google wird die Interpunktion mit wenigen Ausnahmen ignoriert (siehe http://www.google.com/support/websearch/bin/answer.py?answer=134479 ). Das schließt also viele der kleinen atomaren Dinge aus, die Sie im Code haben, wie "++" und "<<". Natürlich muss Google einige Smarts darauf anwenden, z. B. erlauben sie die Suche nach "C ++" als eigenständige Einheit. Obwohl vielleicht die Welt ein besserer Ort wäre, wenn C ++ einfach aus dem Internet verschwunden wäre :)

Der dritte Fall liegt irgendwo zwischen Bibliothekswesen und Philosophie. Wittgenstein hätte zweifellos etwas Markiges zu sagen wie "Wir können nicht nach dem suchen, worüber wir nicht sprechen können", aber pragmatisch haben Sie keine andere Wahl, als über alternative Begriffe nachzudenken, die Ihr Element beschreiben könnten. Zum Beispiel "Atom", "Variable", "Operator" und dergleichen.

Hoffentlich hilft das!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.