Mesin pencari ramah programer? [Tutup]


123

Google tidak ramah untuk mencari string kata demi kata dengan karakter seperti $ dan #. Apakah ada mesin pencari yang mendukung pencarian string kata demi kata?

Saya mengetahui pertanyaan yang diajukan beberapa waktu lalu, tetapi tidak mendapatkan jawaban yang bagus. Saya siap memberikan hadiah jika saya masih tidak bisa mendapatkan jawaban. Tentu saja sangat mungkin tidak ada, tapi saya ingin memastikan :)

EDIT: Kutipan tidak berfungsi . Google menghapus simbol bahkan saat dikutip.

Contoh kueri: make "$ <", untuk variabel $ <di makefiles.


6
Saya ingin mencari di internet seperti saat menggunakan google, kebanyakan untuk dokumentasi. Saya tidak mencari kode.
static_rtti

5
Saya mencari potongan kode dalam dokumentasi. Mesin pencari kode tidak berfungsi untuk saya, karena mereka mengembalikan banyak kode sumber yang tidak relevan tanpa dokumentasi, yang tidak berguna bagi saya.
static_rtti

4
Lebih khusus lagi, dalam kasus "make $ <", kasus penggunaannya adalah sebagai berikut: Saya tersandung pada $ <di makefile, dan saya ingin tahu apa fungsinya. Saya tidak tahu apa namanya, jadi saya tidak bisa menggunakan google untuk itu. Jika Anda dapat memberi saya solusi yang baik untuk masalah khusus ini, hadiah itu untuk Anda .
static_rtti

1
Jika Anda belum pernah menanyakan pertanyaan ini sebelumnya, Anda bukan seorang programmer.
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

3
pencarian kode! = pencarian internet
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

Jawaban:


77

Coba http://www.symbolhound.com .

Ini sepertinya menyelesaikan masalah Anda. SymbolHound adalah mesin pencari yang tidak mengabaikan simbol atau karakter khusus dalam kueri web seperti yang dilakukan Google. Ini juga bukan pencarian kode sumber. Semoga membantu!


6
Sepertinya tidak berfungsi lagi ...
Dmitry Trofimov

3
"tidak berfungsi" seperti dalam menampilkan halaman hasil kosong
serv-inc

2
Jika symbolhound turun, coba stackse . Saya adalah penulisnya dan masih dalam proses, tapi sekarang sudah bisa digunakan.
ren

4

Tidak dapat membantu Anda, tetapi setidaknya dapat memberi Anda sebuah visi (mungkin startup yang sama akan mewujudkannya).

Assieme adalah prototipe penelitian dari mesin pencari khusus untuk dokumentasi perangkat lunak. Idenya adalah bahwa mencari dokumentasi perangkat lunak adalah tugas khusus, yang membutuhkan mesin pencari khusus. Misalnya, saat mencari dokumentasi APi, mesin juga harus mengekstrak contoh yang valid dari misalnya posting blog dan menunjukkannya kepada kami. Dan lain-lain.

Untuk makalah lengkapnya, silakan merujuk ke: "Assieme, Menemukan dan Memanfaatkan Referensi Implisit dalam Antarmuka Pencarian Web untuk Pemrogram"

NB: Jika Anda tertarik dengan penelitian terbaru tentang pencarian perangkat lunak, Anda dapat melihat seri lokakarya SUITE . Kami juga di twitter :)


Hmm, Assieme terlihat menarik, tapi ternyata hanya untuk Java, dan sepertinya tidak tersedia dalam bentuk apapun ...
SamB

2

Sudahkah Anda mencoba Yahoo BOSS ? Ini adalah API pencarian yang saat ini gratis (perlu mendaftar), di mana Anda dapat menggunakan pencarian web Yahoo. Jika Anda keluar dari semua karakter yang relevan seperti yang dijelaskan di FAQ , Anda dapat mencari string kata demi kata yang berubah-ubah.


1
Halaman yang Anda tautkan tidak mengatakan hal semacam itu. Ini hanya memberikan daftar karakter yang perlu di-escape saat digunakan dalam URL dalam nilai argumen BOSS.
mercator


0

Ini mungkin bukan jawaban yang Anda cari, tetapi saya sangat bersimpati pada masalah ini, dan sikap acuh tak acuh yang tampaknya ditemui oleh pertanyaan ini.

Dalam hal ini, Anda sudah memiliki beberapa informasi tentang apa yang Anda cari. Anda sedang mencari beberapa bagian tertentu dari beberapa halaman dokumentasi untuk membuat file.

berikut adalah dokumentasi untuk makefiles http://www.gnu.org/software/make/manual/make.html

Dengan mudah, seluruh dokumentasi ada di satu halaman html raksasa. Di firefox, tekan control+f(command + f di macs), untuk menampilkan pencarian di dalam widget halaman. Di kolom pencarian firefox, ketikkan simbol yang Anda cari. Ini melaporkan 37 pertandingan, yang dapat Anda lihat secara indvidu.

Namun terkadang, urutan simbol bersifat idiomatis, dan tidak ada dalam dokumentasi untuk suatu bahasa. Bagaimana orang luar tahu, misalnya bahwa $ dalam javascript biasanya mengacu pada jquery, atau prototipe, atau pustaka lain yang disertakan?

Dalam kasus ini, mungkin ada pertanyaan tentang stack overflow di suatu tempat yang akan menjelaskannya. Namun, mencari stackoverflow untuk simbol $ tidak berfungsi. Anda bisa saja mengajukan pertanyaan, Anda mungkin akan mendapatkan jawaban. (seperti yang Anda lakukan dalam kasus ini).

Saya pikir kita mungkin harus membuat permintaan fitur stackoverflow? Ini bukan penelusuran web umum, tetapi stackoverflow secara unik diposisikan untuk menjawab masalah seperti ini dengan cara yang tidak dilakukan web umum.

edit: setelah melihat-lihat di meta.stackoverflow.com saya menemukan permintaan untuk ini sudah ada: /meta/19870/we-need-to-be-able-to-search-for- simbol-tanda baca

Tampaknya jika Anda menekan "ajukan pertanyaan" dan menulis

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

di judul, lalu pindahkan kursor ke badan, SO akan menyarankan sekumpulan pertanyaan yang sudah diajukan, yang hasilnya jauh lebih baik daripada menggunakan "penelusuran". Anda mungkin akan menemukan jawaban untuk pertanyaan terkait simbol di sana. Dan jika tidak, lanjutkan dan posting pertanyaan Anda. Saya yakin ada sekitar 10 kutu buku yang terlalu bersemangat yang akan dengan senang hati memberi tahu Anda bahwa pertanyaan tersebut telah diajukan, dan mengarahkan Anda ke tempat pertanyaan duplikat, dan hanya dengan mengorbankan beberapa potensi suara negatif!

Stack Overflow harus benar-benar menambahkan fitur ini. Konyol kalau tidak. Pertanyaan duplikat hanyalah biaya yang harus diterima Stackoverflow karena tidak memiliki fitur ini.


0

Yang paling dekat yang pernah saya temukan adalah Cuil, yang dengan kriteria Anda sedekat menemukan kecocokan tepat untuk "menghasilkan $". Sayangnya mereka untuk situs cepat kaya. Tapi itu lebih baik daripada Google dengan istilah seperti C # dan C ++.


0

Jawabannya, tentu saja, adalah Google :-) Secara khusus, Google Code Search . Lihat misalnya kueri untuk permintaan Anda: ( edit: memperbaiki tautan)

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

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

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

EDIT: Oke, dari komentar terakhir Anda untuk pertanyaan itu, saya mengerti maksud Anda sekarang. Ini akan berguna bagi banyak orang (bagi saya, hanya beberapa kali dalam hidup saya yang mungkin saya butuhkan). Tapi, sejauh yang saya tahu, tidak ada cara untuk melakukan itu. Jika Anda mencari di forum untuk "pencarian simbol", Anda akan menemukan banyak keluhan seperti ini .

Hal terdekat yang saya temukan adalah ini, yang cukup menyenangkan untuk mencari simbol (tetapi hanya dalam komunitas yang relatif kecil, yang bukan yang Anda cari): http://perlmonks.org/

Mengapa kita tidak menulis mesin pencari programmer seperti itu ??


10
Saya ingin mencari di internet seperti saat menggunakan google, kebanyakan untuk dokumentasi. Saya tidak mencari kode.
static_rtti

1
Kami mungkin bisa menulis mesin pencari seperti itu. Kemudian kami harus mengindeks Internet, yang merupakan masalah yang lebih besar. Saya tidak berpikir banyak dari kita akan mampu membeli pusat data ukuran Google dengan lebar pita tingkat Google, dan itulah yang kita perlukan untuk memulai.
David Thornley

5
Tentunya kami tidak membutuhkan bandwidth mereka, dan juga kekuatan pemrosesan atau kecepatan mereka. Programmer adalah sebagian kecil dari pengguna web, dan untuk layanan seperti itu mereka dapat menunggu lebih lama dari pada pencarian Google biasa. Tentunya penyimpanan bisa menjadi masalah, tetapi sekali lagi, jika kita menemukan cara cerdas untuk mengindeks hanya halaman "yang berhubungan dengan pemrograman", maka kita sudah siap: Saya percaya bahwa cluster kecil dapat menanganinya dengan cukup mudah! Sekarang, mengembangkan algoritme yang tepat dan sistem peringkat yang tepat, itu mungkin sulit.
Davide

1
Apakah jawaban ini diterima secara otomatis karena karunia? (Bisakah Anda tidak menerimanya, karena karunia tidak menyebabkan terima otomatis?)
SamB

32
Layanan ini tidak lagi tersedia. Google Code Search ditutup pada 15 Januari 2012 sebagai bagian dari "fall sweep".
animuson

0

Inilah yang saya gunakan:

www.koders.com - Ini mengindeks beberapa proyek sumber terbuka, jadi, jika saya ingin tahu bagaimana sesuatu dilakukan, cukup temukan di kode sumber apa yang saya butuhkan. Dan itu bekerja dengan sangat baik.


1
Tidak menjawab pertanyaan saya, mohon baca pertanyaan dan komentar dengan seksama sebelum menjawab.
static_rtti

Sebenarnya, saya menjawab pertanyaan Anda :) Anda meminta mesin pencari yang dapat mendukung pertanyaan seperti <$ dan seterusnya. Dan yang saya tunjukkan melakukan persis seperti itu! :) Sebenarnya, dan lebih banyak lagi, karena ini adalah mesin pencari yang berfokus pada pengembang, semua konten yang akan Anda dapatkan adalah kode persis. Kode yang Anda butuhkan + komentar yang terkait dengannya. Mungkin Anda harus mencobanya.
Kico Lobo

Saya sudah mencobanya, saya tahu banyak tentangnya sebelumnya sebenarnya, tetapi itu tidak menjawab pertanyaan saya (baca komentar klarifikasi untuk memahami mengapa).
static_rtti

-1

Mesin pencari open-source memiliki pengindeks yang jauh lebih fleksibel daripada orang lain. Jika orang lain belum menulis tokenizer yang mengizinkan simbol, Anda dapat dengan mudah menulis sendiri. Saya akan melihat Solr / Lucene, Xapian, Sphinx dan Ferret.

Selain itu, tidak ada batasan hasil 64 Google AJAX API yang mengganggu!


3
Dia tidak meminta pengindeks yang dapat dia jalankan sendiri
posting ulang

1
Dia juga tidak meminta pengindeks yang bisa dia jalankan sendiri. Solusi alternatif tetaplah solusi.
Justin Johnson

-3

OK, jadi biarkan saya memasukkan 2c saya dan melihat apakah saya bisa menyelesaikannya. Anda mungkin harus melakukan tiga pencarian:

  1. Apa itu "$ <"?
  2. Bagaimana string literal seperti $ foo atau <<< dicari?
  3. Jika saya tidak tahu nama sesuatu, dan mesin pencari saya tidak mengizinkan saya mencari string literal, bagaimana cara saya mencarinya?

Kasus pertama mudah, itu adalah nama dari prasyarat pertama yang dibutuhkan proses make untuk target yang sedang dibangun. Lihat http://www.gnu.org/software/make/manual/make.html#Automatic-Variables misalnya.

Kasus kedua cukup sulit. Google mengatakan bahwa dengan sedikit pengecualian, tanda baca diabaikan (lihat http://www.google.com/support/websearch/bin/answer.py?answer=134479 ). Sehingga mengesampingkan banyak hal atom-y kecil yang Anda miliki dalam kode seperti "++" dan "<<". Tentu saja, Google memang harus menerapkan beberapa kecerdasan untuk ini, misalnya mereka mengizinkan pencarian "C ++" sebagai unit dalam dirinya sendiri. Meskipun mungkin dunia akan menjadi tempat yang lebih baik jika C ++ menghilang begitu saja dari Internet :)

Kasus ketiga termasuk di antara kepustakawanan dan filsafat. Wittgenstein pasti akan memiliki sesuatu yang bernas untuk dikatakan seperti "kami tidak dapat mencari yang tidak dapat kami bicarakan" tetapi secara pragmatis Anda tidak punya pilihan selain memikirkan istilah alternatif yang mungkin menggambarkan elemen Anda. Misalnya, "atom", "variabel", "operator" dan semacamnya.

Semoga membantu!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.