Mesin pencari yang diselenggarakan sendiri yang dapat Anda gunakan untuk blog statis Anda atau tentang situs web lain yang ingin Anda cari.
Instance langsung saya adalah di http://search.cweiske.de/ dan mengindeks situs web saya, blog, dan semua URL tertaut.
foo bar mencari foo AND barfoo OR bartitle:foo mencari foo hanya di judul halamanbefore:2016-08-30 -Tanggal Modifikasi Sebelum hari ituafter:2016-08-30 -dimodifikasi setelah hari itudate::2016-08-30 -Pertandingan Hari Modifikasi yang Tepatfoo bar site:example.org/dir/site dapatkan parameter: /?q=foo&site=example.org/dirgearman-job-server , bukan gearman-server )gearadmin Command Line Tool (Paket gearman-tools )Instal dan jalankan Elasticsearch dan Gearman
Pasang php-gearman dan gearman-tools
Dapatkan salinan kode lokal:
$ git clone https://git.cweiske.de/phinde.git phinde
Instal dependensi melalui komposer:
$ instalasi komposer ---no-dev
Arahkan root dokumen webserver Anda ke direktori www phinde
Salin data/config.php.dist ke data/config.php dan sesuaikan. Pastikan Anda menambahkan domain Anda ke daftar putih merangkak.
Buat database MySQL dan impor skema dari data/schema.sql
Jalankan bin/setup.php yang mengatur skema Elasticsearch
Masukkan beranda Anda ke dalam antrian:
$ ./bin/process.php http://example.org/
Mulailah setidaknya satu pekerja untuk memproses antrian crawl+indeks:
$ ./bin/phinde-worker.php
Periksa halaman status Phinde di browser Anda. Jumlah tugas terbuka harus> 0, jumlah pekerja juga.
Ketika situs Anda berubah, mesin pencari perlu merayapi dan mengindeks ulang halaman.
Cukup beri tahu Phinde bahwa sesuatu berubah dengan menjalankan:
$ ./bin/process.php http://example.org/foo.htm
Phinde mendukung halaman HTML dan feed atom, jadi jika blog Anda memiliki feed, itu cukup untuk membiarkan Phinde Reindex itu. Ini akan menemukan semua halaman yang ditautkan secara otomatis.
Menambahkan formulir pencarian sederhana ke situs web Anda mudah. Itu membutuhkan dua hal:
<form> Tag dengan tindakan yang menunjuk ke instance Phindeq .Contoh:
<Form method = "get" action = "http://phinde.example.org"> <input type = "text" name = "q" placeholder = "pencarian teks"/> <typy type = "Kirim"> Cari </button> </form>
Saat menggunakan SystemD, Anda dapat membiarkannya menjalankan beberapa instance pekerja saat sistem mem -boot:
Salin file data/systemd/phinde*.service ke /etc/systemd/system/
Sesuaikan nama pengguna dan grup, dan direktori kerja
Aktifkan tiga proses pekerja:
$ Systemctl Daemon-reload $ systemctl mengaktifkan phinde@1 $ systemctl mengaktifkan phinde@2 $ systemctl mengaktifkan phinde@3 $ systemctl mengaktifkan phinde $ systemctl Mulai phinde
Sekarang tiga pekerja sedang berlari. Mengawali Layanan phinde juga memulai kembali para pekerja.
Jalankan bin/renew-subscriptions.php sekali sehari dengan Cron. Ini akan memperbarui langganan WebSub.
Hapus data indeks dari satu domain:
$ CURL -IV -XDelete -h 'Content -Type: Application/JSON' -D '{"Query": {"Term": {"Domain": "example.org"}}}' http://127.0.0.1:9200/phinde/_Query
Itu delete-by-query 2.0, lihat https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/delete-by-query-usage.html
Phinde mendukung WebSub untuk berlangganan perubahan situs web. Ketika Phinde diberitahu oleh hub situs web tentang perubahan, itu akan segera merangkak dan mengindeks halaman yang diubah.
Berlangganan umpan situs web:
$ php bin/berlangganan.php http://example.org/feed.atom
Phinde akan menentukan hub situs web dan mengirim permintaan pendaftaran ke sana.
Halaman status akan menunjukkan jumlah yang berfungsi, dan jumlah langganan terbuka.
Berhenti berlangganan juga terjadi pada baris perintah:
$ php bin/unsubscribe.php http://example.org/feed.atom
Kode sumber Phinde tersedia dari http://git.cweiske.de/phinde.git atau cermin di github.
Phinde dilisensikan di bawah AGPL V3 atau lebih baru.
Phinde ditulis oleh Christian Weiske.