Wyszukiwarka przyjazna programistom? [Zamknięte]


123

Google jest nieprzyjazny do wyszukiwania dosłownych ciągów znaków ze znakami takimi jak $ i #. Czy istnieje wyszukiwarka obsługująca wyszukiwanie ciągów dosłownych?

Jestem świadomy tego pytania, które zostało zadane jakiś czas temu, ale nie uzyskałem żadnych dobrych odpowiedzi. Jestem gotów wyznaczyć nagrodę, jeśli nadal nie mogę uzyskać odpowiedzi. Oczywiście jest całkiem możliwe, że nie ma, ale chcę być pewien :)

EDYCJA: Cytaty nie działają . Google usuwa symbole, nawet gdy są cytowane.

Przykładowe zapytanie: make "$ <", dla zmiennej $ <w plikach makefiles.


6
Chcę przeszukiwać Internet tak samo, jak w Google, głównie w poszukiwaniu dokumentacji. Ja nie szukają kodu.
static_rtti

5
Szukam fragmentów kodu w dokumentacji. Wyszukiwarki kodów nie działają dla mnie, ponieważ zwracają dużo nieistotnego kodu źródłowego bez dokumentacji, co jest dla mnie bezużyteczne.
static_rtti

4
Dokładniej, w przypadku "make $ <", przypadek użycia jest następujący: natknąłem się na $ <w pliku makefile i chcę wiedzieć, co robi. Nie wiem, jak to się nazywa, więc nie mogę do tego użyć Google. Jeśli możesz dać mi dobre rozwiązanie tego konkretnego problemu, nagroda jest dla Ciebie .
static_rtti

1
Jeśli nie zadałeś tego pytania, zanim nie jesteś programistą.
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

3
wyszukiwanie kodu! = wyszukiwanie w Internecie
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

Odpowiedzi:


77

Spróbuj http://www.symbolhound.com .

Wydaje się, że to rozwiązuje twój problem. SymbolHound to wyszukiwarka, która nie ignoruje symboli ani znaków specjalnych w zapytaniach internetowych, tak jak robi to Google. Nie jest to też wyszukiwanie kodu źródłowego. Mam nadzieję, że to pomoże!


6
Wygląda na to, że to już nie działa ...
Dmitry Trofimov

3
„nie działa” jak w wyświetla pustą stronę wyników
serv-inc

2
W przypadku, gdy symbolhound nie działa, spróbuj stackse . Jestem autorem i to jest w toku, ale teraz można z niego korzystać.
ren

4

Nie mogę Ci pomóc, ale przynajmniej przedstawi wizję (może ten sam startup to zrealizuje).

Assieme to prototyp badawczy dedykowanych wyszukiwarek dokumentacji oprogramowania. Chodzi o to, że wyszukiwanie dokumentacji oprogramowania jest zadaniem specjalistycznym, które wymaga wyspecjalizowanych wyszukiwarek. Na przykład, szukając dokumentacji APi, silnik powinien również wyciągać ważne przykłady z np. Postów na blogu i pokazywać je nam. I tak dalej.

Pełny dokument można znaleźć w: „Assieme, Finding and Leveraging implicit References in a Web Search Interface for Programmers”

PS: Jeśli interesują Cię najnowsze badania dotyczące wyszukiwania oprogramowania, możesz przyjrzeć się serii warsztatów SUITE . Jesteśmy też na Twitterze :)


Hmm, Assieme wygląda interesująco, ale najwyraźniej było tylko dla Javy i nie wydaje się być dostępne w żadnej formie ...
SamB

2

Czy próbowałeś już Yahoo BOSS ? Jest to API wyszukiwania, które jest obecnie bezpłatne (wymaga rejestracji), za pomocą którego można korzystać z wyszukiwania internetowego Yahoo. Jeśli zmienisz znaczenie wszystkich odpowiednich znaków zgodnie z opisem w FAQ , możesz wyszukać dowolne ciągi dosłowne.


1
Ta strona, do której prowadzi link, nie mówi nic takiego. Po prostu podaje listę znaków, które muszą zostać zmienione, gdy są używane w adresie URL w wartościach argumentów BOSS.
mercator


0

Prawdopodobnie nie jest to dokładnie odpowiedź, której szukasz, ale naprawdę współczuję temu problemowi i dziwnej powściągliwości, którą zdaje się napotykać to pytanie.

W takim przypadku masz już pewne informacje o tym, czego szukasz. Szukasz określonej części strony z dokumentacją dotyczącą plików make.

tutaj jest dokumentacja makefile http://www.gnu.org/software/make/manual/make.html

Dogodnie, cała dokumentacja znajduje się na jednej gigantycznej stronie HTML. W przeglądarce Firefox naciśnij control+f(Command + F na Macach), aby wywołać wyszukiwanie w widżecie strony. W polu wyszukiwania przeglądarki Firefox wpisz symbol, którego szukasz. Zgłasza 37 meczów, które możesz przejrzeć indywidualnie.

Czasami jednak sekwencja symboli jest idiomatyczna i nie ma jej w dokumentacji języka. Skąd osoba z zewnątrz mogłaby wiedzieć, na przykład, że $ w javascript zwykle odnosi się do jquery, prototypu lub innej dołączonej biblioteki?

W tym przypadku prawdopodobnie pojawia się pytanie o przepełnienie stosu, które by to wyjaśniło. Jednak wyszukiwanie w przepływie stosu dla symbolu $ nie działa. Możesz po prostu zadać pytanie, prawdopodobnie otrzymasz odpowiedź. (tak jak w tym przypadku).

Myślę, że powinniśmy zgłosić żądanie funkcji przepełnienia stosu? Nie jest to ogólne wyszukiwanie w Internecie, ale stackoverflow ma wyjątkową pozycję, aby rozwiązywać takie problemy w sposób, w jaki nie ma go ogólna sieć.

edycja: po rozejrzeniu się po meta.stackoverflow.com znalazłem prośbę o to już istnieje: /meta/19870/we-need-to-be-able-to-search-for- symbole interpunkcyjne

Wydawałoby się, że jeśli naciśniesz „zadaj pytanie” i napisz

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

w tytule, a następnie przesuń kursor na treść, SO zasugeruje kilka pytań, które zostały już zadane, które są znacznie lepszymi wynikami niż użycie „wyszukiwania”. Prawdopodobnie znajdziesz tam odpowiedź na każde zapytanie związane z symbolami. A jeśli nie, nie wahaj się i zadaj pytanie. Jestem pewien, że jest około 10 nadgorliwych kujonów, którzy chętnie ci powiedzą, że pytanie już zostało zadane i wskażą, gdzie są zduplikowane pytania, i to tylko kosztem kilku potencjalnych głosów przeciw!

Jednak przepełnienie stosu powinno naprawdę dodać tę funkcję. To śmieszne, że tak nie jest. Zduplikowane pytania to jedynie koszt, który Stackoverflow będzie musiał zaakceptować, jeśli nie będzie mieć tej funkcji.


0

Najbliższym, jakie kiedykolwiek znalazłem, jest Cuil, które z Twoimi kryteriami jest tak zbliżone, jak znalezienie dokładnych odpowiedników dla „make $”. Niestety są przeznaczone do witryn umożliwiających szybkie wzbogacenie się. Ale jest lepszy niż Google z terminami takimi jak C # i C ++.


0

Odpowiedzią jest oczywiście Google :-) W szczególności Google Code Search . Zobacz na przykład zapytania dotyczące twoich żądań: ( edit: fixed the links)

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

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

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

EDYCJA: Ok, od ostatniego komentarza do pytania, rozumiem teraz twój punkt widzenia. Byłoby to przydatne dla wielu (dla mnie tylko kilka razy w moim życiu, kiedy mógłbym tego potrzebować). Ale o ile wiem, nie ma na to żadnego sposobu. Jeśli przeszukiwanie forum „poszukiwaniu symbolu” znajdziesz wiele dolegliwości, takich jak ten .

Najbliższą rzeczą, jaką znalazłem, jest ta, która z przyjemnością szuka symboli (ale tylko w tej stosunkowo małej społeczności, która nie jest tym, czego szukasz): http://perlmonks.org/

Dlaczego nie napiszemy takiej wyszukiwarki programistów ??


10
Chcę przeszukiwać Internet tak samo, jak w Google, głównie w poszukiwaniu dokumentacji. Ja nie szukają kodu.
static_rtti

1
Być może moglibyśmy napisać taką wyszukiwarkę. Wtedy musielibyśmy zindeksować Internet, co jest większym problemem. Nie sądzę, żeby wielu z nas było w stanie pozwolić sobie na centra danych wielkości Google z przepustowością na poziomie Google i właśnie tego potrzebowalibyśmy, aby zacząć.
David Thornley

5
Z pewnością nie potrzebujemy ich przepustowości, ani mocy obliczeniowej, ani szybkości. Programiści to niewielki ułamek internautów i na taką usługę mogliby szczęśliwie poczekać dłużej niż na zwykłą wyszukiwarkę Google. Z pewnością przechowywanie może stanowić problem, ale znowu, jeśli znajdziemy sprytny sposób indeksowania tylko stron „związanych z programowaniem”, to jesteśmy gotowi: uważam, że mały klaster może sobie z tym całkiem łatwo poradzić! Teraz opracowanie odpowiedniego algorytmu i odpowiedniego systemu rang może być trudne.
Davide,

1
Czy ta odpowiedź została automatycznie zaakceptowana ze względu na nagrodę? (Czy możesz to
anulować

32
Ta usługa nie jest już dostępna. Google Code Search zostało wyłączone 15 stycznia 2012 r . W ramach ich „jesiennego przeglądu”.
animuson

0

Oto czego używam:

www.koders.com - indeksuje kilka projektów open source, więc jeśli chcę wiedzieć, jak coś się robi, po prostu znajduję w kodzie źródłowym to, czego potrzebuję. I działa naprawdę dobrze.


1
Nie odpowiada na moje pytanie, przeczytaj uważnie pytanie i komentarze przed udzieleniem odpowiedzi.
static_rtti

Właściwie odpowiedziałem na twoje pytanie :) Poprosiłeś o wyszukiwarkę, która mogłaby obsługiwać zapytania takie jak <$ i tak dalej. A ten, który ci pokazałem, właśnie to robi! :) Właściwie i więcej, ponieważ jest to wyszukiwarka skoncentrowana na programistach, cała treść, którą otrzymasz, jest dokładnie kodem. Potrzebny kod + związane z nim komentarze. Może powinieneś spróbować.
Kico Lobo

Próbowałem tego, wiedziałem o tym dużo wcześniej, ale nie odpowiada na moje pytanie (przeczytaj komentarze wyjaśniające, aby zrozumieć, dlaczego).
static_rtti

-1

Wyszukiwarki open source mają znacznie bardziej elastyczne indeksatory niż ktokolwiek inny. Jeśli ktoś inny nie napisał tokenizera, który zezwala na symbole, łatwo jest napisać własny. Spojrzałbym na Solr / Lucene, Xapian, Sphinx i Ferret.

Nie ma też nieznośnego limitu 64 wyników w Google AJAX API!


3
Nie prosi o indeksatora, którego mógłby sam uruchomić
przejął

1
Nie prosi też o indeksatora, który mógłby sam uruchomić. Rozwiązania alternatywne to wciąż rozwiązania.
Justin Johnson,

-3

OK, więc pozwól mi wstawić 2c i zobaczę, czy uda mi się to wyjaśnić. Masz prawdopodobnie trzy wyszukiwania do wykonania:

  1. Co to jest „$ <”?
  2. Jak można wyszukiwać dosłowne ciągi, takie jak $ foo lub <<<?
  3. Jeśli nie znam nazwy czegoś, a moja wyszukiwarka nie pozwala na wyszukiwanie literalnych ciągów, jak mogę to wyszukać?

Pierwszy przypadek jest łatwy, jest to nazwa pierwszego warunku wstępnego, którego potrzebuje proces tworzenia dla budowanego celu. Zobacz na przykład http://www.gnu.org/software/make/manual/make.html#Automatic-Variables .

Drugi przypadek jest dość trudny. Google twierdzi, że z nielicznymi wyjątkami interpunkcja jest ignorowana (patrz http://www.google.com/support/websearch/bin/answer.py?answer=134479 ). Wyklucza to więc wiele małych elementów atom-y, które masz w kodzie, takich jak „++” i „<<”. Oczywiście Google musi zastosować do tego pewne sprytne rozwiązania, np. Zezwala na wyszukiwanie „C ++” jako samodzielnej jednostki. Choć może świat byłby lepszym miejscem, gdyby C ++ po prostu zniknął z Internetu :)

Trzeci przypadek sytuuje się gdzieś pomiędzy bibliotekarstwem a filozofią. Wittgenstein bez wątpienia miałby do powiedzenia coś zwięzłego, np. „Nie możemy szukać tego, o czym nie możemy mówić”, ale pragmatycznie nie masz innego wyboru, jak tylko pomyśleć o alternatywnych terminach, które mogą opisać twój żywioł. Na przykład „atom”, „zmienna”, „operator” i tym podobne.

Mam nadzieję, że to pomoże!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.