Motor de búsqueda amigable para programadores? [cerrado]

123

Google es hostil a la búsqueda de cadenas literales con caracteres como $ y #. ¿Existe un motor de búsqueda que admita la búsqueda de cadenas literales?

Soy consciente de esta pregunta que se hizo hace un tiempo, pero no obtuvo buenas respuestas. Estoy listo para dar una recompensa si aún no puedo obtener una respuesta. Por supuesto, es completamente posible que no haya uno, pero quiero estar seguro :)

EDITAR: las cotizaciones no funcionan . Google elimina los símbolos incluso cuando se citan.

Ejemplo de consulta: make "$ <", para la variable $ <en makefiles.

static_rtti
fuente
66
Quiero buscar en internet como cuando uso google, principalmente para documentación. Estoy no en busca de código.
static_rtti
55
Estoy buscando fragmentos de código en la documentación. Los motores de búsqueda de código no funcionan para mí, porque devuelven un montón de código fuente irrelevante sin documentación, lo cual es inútil para mí.
static_rtti
44
Más específicamente, en el caso de "make $ <", el caso de uso es el siguiente: me tropiezo con $ <en un archivo MAKE y quiero saber qué hace. No sé cómo se llama, así que no puedo usar google para eso. Si puede darme una buena solución a este problema específico, la recompensa es para usted .
static_rtti
1
Si no ha hecho esta pregunta antes, no es un programador.
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳
3
code search! = búsqueda en internet
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

Respuestas:

77

Prueba http://www.symbolhound.com .

Esto parece resolver tu problema. SymbolHound es un motor de búsqueda que no ignora los símbolos o caracteres especiales en las consultas web como lo hace google. Tampoco es una búsqueda de código fuente. ¡Espero que ayude!

tcf628
fuente
66
Parece que ya no funciona ...
Dmitry Trofimov
3
"no funciona" como se muestra en la página de resultados vacía
serv-inc
2
En caso de que Symbolhound esté abajo, intente stackse . Soy el autor y es un trabajo en progreso, pero ya se puede usar.
ren
4

No puedo ayudarlo, pero al menos puede proporcionarle una visión (tal vez la misma startup se dará cuenta).

Assieme es el prototipo de investigación de un motor de búsqueda dedicado para la documentación del software. La idea es que buscar documentación de software es una tarea especializada, que necesita motores de búsqueda especializados. Por ejemplo, al buscar documentación de APi, el motor también debe extraer ejemplos válidos de, por ejemplo, publicaciones de blog y mostrárnoslos. Etcétera.

Para el artículo completo, consulte: "Asistente, búsqueda y aprovechamiento de referencias implícitas en una interfaz de búsqueda web para programadores"

PD: Si está interesado en las últimas investigaciones sobre búsqueda de software, puede echar un vistazo a la serie de talleres SUITE . También estamos en twitter :)

akuhn
fuente
Hmm, Assieme parece interesante, pero era evidente que sólo para Java, y no parece que esté disponible en cualquier forma ...
Samb
2

¿Has probado Yahoo BOSS ? Es una API de búsqueda que actualmente es gratuita (requiere registrarse), a través de la cual puede utilizar la búsqueda web de Yahoo. Si escapa de todos los caracteres relevantes como se describe en las preguntas frecuentes , puede buscar cadenas literales arbitrarias.

taleinat
fuente
1
Esa página a la que enlaza no dice nada por el estilo. Simplemente proporciona una lista de caracteres que deben escaparse cuando se usan en una URL en valores de argumento BOSS.
mercator
0

Probablemente esta no sea exactamente la respuesta que está buscando, pero realmente simpatizo con este problema y con la extraña distancia que parece encontrar esta pregunta.

En este caso, ya tiene información sobre lo que está buscando. Está buscando una parte específica de alguna página de documentación para crear archivos.

aquí está la documentación de los archivos make http://www.gnu.org/software/make/manual/make.html

Convenientemente, toda la documentación está en una página html gigante. En firefox, presione control+f(comando + f en macs), para que aparezca la búsqueda dentro del widget de página. En el campo de búsqueda de firefox, escribe el símbolo que estás buscando. Informa 37 coincidencias, que puede ver de forma individual.

Sin embargo, a veces, la secuencia de símbolos es idiomática y no está en la documentación de un idioma. ¿Cómo sabría un extraño, por ejemplo, que un $ en javascript generalmente se refiere a jquery, o prototipo, o alguna otra biblioteca incluida?

En este caso, probablemente haya una pregunta sobre el desbordamiento de la pila en alguna parte que explique eso. Sin embargo, la búsqueda de stackoverflow para un símbolo $ no funciona. Podrías hacer la pregunta, probablemente obtendrás una respuesta. (como lo hiciste en este caso).

¿Creo que tal vez deberíamos hacer una solicitud de función stackoverflow? No es una búsqueda web general, pero stackoverflow está en una posición única para responder a problemas como este de una manera que la web general no lo es.

editar: después de mirar meta.stackoverflow.com encontré una solicitud para esto ya existe: /meta/19870/we-need-to-be-able-to-search-for- símbolos de puntuación

Parece que si presiona "hacer una pregunta" y escribe

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

en el título, luego mueva el cursor al cuerpo, SO le sugerirá un montón de preguntas que ya se hicieron, que son resultados mucho mejores que usar "buscar". Probablemente encontrará la respuesta a cualquier consulta relacionada con símbolos allí. Y si no lo hace, continúe y publique su pregunta. Estoy seguro de que hay alrededor de 10 nerds demasiado ansiosos que estarán ansiosos por decirte que la pregunta ya se ha hecho, y te indicarán dónde están las preguntas duplicadas, ¡y solo a costa de algunos posibles votos negativos!

Sin embargo, Stack Overflow realmente debería agregar esta característica. Es ridículo que no sea así. Las preguntas duplicadas son simplemente el costo que Stackoverflow tendrá que aceptar por no tener esta función.

Bretón
fuente
0

Lo más cercano que he encontrado es Cuil, que con su criterio se acerca tanto como encontrar coincidencias exactas para "make $". Lamentablemente son para sitios para hacerse rico rápidamente. Pero es mejor que Google con términos como C # y C ++.

Mark Rendle
fuente
0

La respuesta, por supuesto, es Google :-) En particular, Google Code Search . Consulte, por ejemplo, las consultas para sus solicitudes: ( editar: reparó los enlaces)

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

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

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

EDITAR: Ok, desde su último comentario hasta la pregunta, veo su punto ahora. Esto sería útil para muchos (para mí, solo las pocas veces en mi vida que podría necesitarlo). Pero, que yo sepa, no hay forma de hacerlo. Si busca en los foros "búsqueda de símbolos", encontrará muchas quejas como esta .

Lo más cercano que he encontrado es esto, que está muy feliz de buscar símbolos (pero solo dentro de esa comunidad relativamente pequeña, que no es lo que estás buscando): http://perlmonks.org/

¿Por qué no escribimos tal motor de búsqueda de programadores?

Davide
fuente
10
Quiero buscar en internet como cuando uso google, principalmente para documentación. Estoy no en busca de código.
static_rtti
1
Tal vez podríamos escribir tal motor de búsqueda. Entonces tendríamos que indexar Internet, lo cual es un problema mayor. No creo que muchos de nosotros podamos pagar los centros de datos del tamaño de Google con ancho de banda a nivel de Google, y eso es lo que necesitaríamos para comenzar.
David Thornley
55
Seguramente no necesitamos su ancho de banda, ni su potencia de procesamiento ni su velocidad. Los programadores son una pequeña fracción de los usuarios de la web, y para tal servicio podrían esperar más segundos que en una búsqueda común de Google. Seguramente el almacenamiento puede ser un problema, pero de nuevo, si encontramos una manera inteligente de indexar solo páginas "relacionadas con la programación", estamos listos: ¡creo que un pequeño grupo puede manejarlo con bastante facilidad! Ahora, desarrollar el algoritmo correcto y el sistema de rango correcto, eso podría ser difícil.
Davide
1
¿Fue esta respuesta autoaceptada debido a la generosidad? (¿Puede cancelar su aceptación, ahora que las recompensas no causan la aceptación automática?)
SamB
32
Este servicio ya no está disponible. Google Code Search se cerró el 15 de enero de 2012 como parte de su "barrido de otoño".
animuson
0

Esto es lo que uso:

www.koders.com : indexa varios proyectos de código abierto, por lo tanto, si quiero saber cómo se hace algo, solo encuentro en el código fuente lo que necesito. Y funciona muy bien.

Kico Lobo
fuente
1
No responde mi pregunta, por favor lea la pregunta y los comentarios cuidadosamente antes de responder.
static_rtti
En realidad, respondí tu pregunta :) Solicitaste un motor de búsqueda que pudiera admitir consultas como <$, etc. ¡Y el que te mostré hace exactamente eso! :) En realidad, y más, porque como es un motor de búsqueda enfocado en desarrolladores, todo el contenido que obtendrás es exactamente código. El código que necesita + los comentarios relacionados con él. Quizás deberías probarlo.
Kico Lobo
Lo he intentado, lo sabía mucho antes, pero en realidad no responde a mi pregunta (lea los comentarios de aclaración para comprender por qué).
static_rtti
-1

Los motores de búsqueda de código abierto tienen indexadores mucho más flexibles que cualquier otra persona. Si alguien más no ha escrito un tokenizador que permita símbolos, es fácil escribir uno propio. Me gustaría mirar a Solr / Lucene, Xapian, Sphinx y Ferret.

Además, no hay límite molesto de 64 resultados de la API de Google AJAX.

usuario9569
fuente
3
No está pidiendo un indexador que pueda ejecutar él mismo
Reinierpost
1
Tampoco está pidiendo un indexador que pueda ejecutar él mismo. Las soluciones alternativas siguen siendo soluciones.
Justin Johnson
-3

Bien, déjame meter mi 2c y ver si puedo aclarar esto. Posiblemente, tiene que hacer tres búsquedas:

  1. ¿Qué es "$ <"?
  2. ¿Cómo se pueden buscar cadenas literales como $ foo o <<<?
  3. Si no sé el nombre de algo, y mi motor de búsqueda no me permite buscar cadenas literales, ¿cómo puedo buscarlo?

El primer caso es fácil, es el nombre del primer requisito previo que un proceso de creación necesita para el objetivo que se está creando. Ver http://www.gnu.org/software/make/manual/make.html#Automatic-Variables, por ejemplo.

El segundo caso es bastante difícil. Google dice que, con muy pocas excepciones, se ignora la puntuación (consulte http://www.google.com/support/websearch/bin/answer.py?answer=134479 ). Así que eso descarta muchas de las pequeñas cosas atómicas que tienes en código como "++" y "<<". Por supuesto, Google tiene que aplicar algo de inteligencia a esto, por ejemplo, permiten buscar "C ++" como una unidad por derecho propio. Aunque quizás el mundo sería un lugar mejor si C ++ simplemente desapareciera de Internet :)

El tercer caso pertenece en algún lugar entre la biblioteconomía y la filosofía. Wittgenstein, sin duda, tendría algo contundente que decir como "no podemos buscar aquello de lo que no podemos hablar", pero pragmáticamente no tiene más remedio que pensar en términos alternativos que puedan describir su elemento. Por ejemplo, "átomo", "variable", "operador" y similares.

¡Espero que ayude!

Siempre aprendiendo
fuente