8 Pencarian Kuat yang Dihosting Sendiri Perangkat Lunak Mesin untuk Produk Anda

Tampaknya menakutkan, tetapi menambahkan fungsi pencarian yang kuat ke aplikasi Anda tidak rumit atau memakan waktu. Berikut adalah beberapa rekomendasi yang solid!

Sementara banyak teknologi telah mengesankan dalam 2-3 dekade terakhir, pencarian adalah salah satu dari sedikit yang telah menjadi bagian integral dari kehidupan kita. Itu ada di mana-mana — situs e-niaga, blog, basis pengetahuan, dan banyak lagi — bukan karena kotak pencarian dan ikon terlihat keren, tetapi karena ia melakukan sesuatu yang sangat dibutuhkan.

Jika Anda adalah bisnis yang mencari solusi Penelusuran yang bagus atau bosan dengan solusi yang sudah ada, apa yang Anda lakukan?

Untungnya, Anda tidak perlu membayar biaya lisensi yang tidak masuk akal, Anda juga tidak perlu memelihara tim yang terdiri dari 20 pengembang dan sysadmin. Hari ini saya memiliki beberapa rekomendasi mesin pencari yang dapat diinstal dan diintegrasikan dalam waktu singkat, terutama oleh bisnis kecil dengan tim pengembang ukuran 1-2.

MeiliSearch

Salah satu mesin pencari terbaik dan bernilai tinggi yang akan Anda temui adalah MeiliSearch.

Jadi, apa yang membuat saya mencantumkan MeiliSearch di antara rekomendasi teratas saya?

Ini dia.

Sumber Terbuka

Semua kode sumber yang mendukung MeiliSearch tersedia di tempat terbuka di GitHub. Itu berarti pengembang dapat memeriksa bagian mana pun dari kode itu sendiri. Sebagai imbalannya, bisnis dapat diyakinkan akan kualitas dan niatnya (misalnya, tidak ada pintu belakang atau pemindai dalam program). Dan, tentu saja, pengembang yang berpengetahuan luas dapat membantu meningkatkan teknologi lebih jauh lagi.

UX yang bagus

MeiliSearch tidak memiliki aturan yang rumit (seperti “a – b” berarti a tetapi tidak b). Cukup ketik pencarian Anda secara alami, dan hasilnya akan mulai muncul dengan lancar. Mesinnya sangat toleran dan akomodatif, memberikan hasil yang akurat bahkan ketika salah ketik atau sinonim digunakan. Ini juga mendukung banyak bahasa.

DevEx Hebat

Pengembang akan menyukai MeiliSearch! Ini tidak hanya dapat disesuaikan dan terukur tetapi juga antarmuka sebagai REST API! Dokumentasi juga sangat baik dan lengkap. Meskipun melakukan panggilan HTTP adalah hal yang sepele dalam bahasa apa pun, contoh dari lima bahasa (JavaScript, Ruby, Python, Golang, dan PHP) diberikan untuk mereka yang terburu-buru.

Solusi pencarian sederhana harus mudah digunakan dan diatur. Dengan demikian, MeiliSearch mencentang semua kotak! Saat Anda senang untuk melanjutkan, mulailah di DigitalOcean dengan satu klik.

Solr

Solr, bagian dari Proyek Apache, telah ada selama beberapa tahun sekarang. Itu dibangun di atas perpustakaan Lucene yang terkenal dan sangat andal, yang juga mendukung solusi pencarian populer yang disebut ElasticSearch. Semua omong kosong ini berarti bahwa Solr adalah salah satu solusi pencarian yang paling kuat, terukur, sesuai standar, kaya fitur, dan tepercaya.

Ini digunakan oleh raksasa seperti Disney, eBay, Netflix, Zappos, dan BestBuy. Namun, itu tidak berarti Anda tidak dapat menjalankan instalasi yang lebih kecil dan lebih sederhana (misalnya, satu mesin, tanpa penskalaan, tanpa kegagalan — yah, terkadang tidak masalah) dan memanfaatkan pembangkit tenaga listrik yang disebut Solr.

Jadi, mengapa menggunakan Solr?

Berikut adalah beberapa alasan bagus.

Akurat dan kuat

Solr adalah salah satu sistem pencarian yang paling akurat, mampu, dan kuat di dunia. Plus, ini open-source, yang menjelaskan mengapa nama-nama besar (seperti yang disebutkan sebelumnya) langsung menuju ke sana. Kemampuannya mencerna dokumen dan menjawab pertanyaan pencarian tidak ada duanya.

Pemasangan dan perawatan sederhana

Menginstal Solr semudah membuka kompres dan menjalankan program. Untuk sistem mesin tunggal yang sederhana, tidak diperlukan perawatan yang rumit; awasi penggunaan RAM, karena solusi pencarian pada umumnya dan teknologi berbasis Java pada khususnya bisa sangat membutuhkan RAM (karena mereka menyimpan atau mencoba menyimpan semuanya dalam RAM untuk menyediakan pembacaan/penulisan yang cepat).

panel admin

Solr hadir dengan panel admin yang memungkinkan pemantauan dan konfigurasi visual. Dengan sedikit pelatihan, bahkan non-pengembang dapat belajar membaca grafik utama. Tidak banyak solusi pencarian dalam daftar ini yang hadir dengan fungsionalitas seperti ini.

Sumber gambar: Situs resmi

Berbasis API, sesuai standar

Solr menyediakan antarmuka hasil dalam API yang dapat menangani berbagai format — JSON, CSV, XML, dan biner. Ini menghasilkan data pemantauan sesuai standar JMX, keuntungan besar bagi pengembang Java.

  Cara Bekerja Lebih Cepat di Photoshop

Ada banyak lagi yang bisa dikatakan mendukung Solr, tetapi mencoba untuk menutupi semuanya akan membawa kita ke akhir zaman. 😂 Cukuplah untuk mengatakan bahwa Solr adalah solusi terbaik, dan Anda tidak akan pernah salah dengannya, apa pun jenis data yang Anda gunakan.

pencarian elastis

Elasticsearch adalah, dan bisa dibilang masih, pelopor dalam pencarian teks bentuk bebas. Faktanya, bahkan hari ini, jika Anda meminta rekomendasi dari programmer atau sysadmin di mesin pencari, Elasticsearch kemungkinan besar akan menjadi satu-satunya nama yang akan mereka buat. Tentu, akhir-akhir ini, sebagian besar akan merekomendasikan sesuatu seperti Algolia juga, tetapi kami telah membahas bagaimana hasilnya.

Jangan disesatkan oleh tombol “Mulai uji coba gratis” pada grafik di atas. Sementara teknologi inti Elasticsearch itu sendiri adalah open source dan gratis, perusahaan tersebut mencoba untuk memonetisasi usahanya dan menargetkan perusahaan. Oleh karena itu, apa yang Anda lihat di sini sebenarnya adalah uji coba untuk layanan cloud mereka, membuat pengelolaan Elasticsearch menjadi mudah, terutama bila ada cluster yang terlibat.

Uff, begitu banyak jaring yang harus diurai. Mari kita rekap: Elasticsearch adalah open source dan gratis, dan siapa pun dapat mengaturnya dengan mudah dan menggunakannya tanpa batas.

Dan sekarang, seperti yang diharapkan, mari selami alasan memilih Elasticsearch:

  • Mesin pencari yang matang dan teruji pertempuran. Ini berarti Anda jauh lebih mungkin untuk menemukan solusi jika Anda terjebak dengan bug “aneh”.
  • Fokus kelas satu pada pengelompokan, skalabilitas, dan penulisan asinkron.
  • Dapat diakses melalui REST API sederhana (yang akhirnya disalin oleh semua orang).
  • Berorientasi dokumen tetapi mendukung skema jika diperlukan.
  • Hasil yang sangat cepat dan akurat. Kecepatan pencarian yang dapat dikonfigurasi.
  • Dokumentasi Stellar, baik jumlah maupun kegunaannya.
  • Platform cloud pencarian dan analisis lengkap (tumpukan ELK), jika Anda ingin membayar untuk kenyamanan.

Satu-satunya nit-pick yang saya miliki terhadap Elasticsearch adalah konsumsi RAM yang sangat besar. Maksud saya, sebagai konsultan, cukup sulit untuk meyakinkan klien untuk berinvestasi di server seharga $20/bulan, yang sayangnya tidak mendekati permintaan Elasticsearch.

Jika Anda penasaran untuk mempelajari Elasticsearch, maka lihat kursus Udemy ini.

Typesense

Typesense adalah mesin pencari yang ringan, lugas, namun kuat. Mereka yang mencari kegunaan dan kesederhanaan pasti harus mencoba yang satu ini.

Salah satu hal terbaik tentang Typesense adalah Anda dapat mencobanya langsung di situs web mereka. Itu dapat menghemat frustrasi dan waktu jika Anda mengatur semuanya dan mencoba API . . . hanya untuk mengetahui bahwa satu atau lebih fitur tidak berfungsi seperti yang Anda inginkan.

Itu tidak berarti mungkin ada bug di mesin; hanya saja mesin mengambil sesuatu yang mungkin bukan pilihan Anda, atau mungkin bertentangan dengan domain bisnis Anda. Kesalahan ketik, simbol khusus, sinonim, dan lainnya . . . Anda dapat memeriksa hasil yang dikeluarkan mesin langsung di beranda (mereka menggunakan database buku untuk ini).

Seperti yang Anda lihat, bagian ini tepat di bawah yang paling atas. Di kotak pencarian, saya telah memasukkan kueri “tra”, dan di bawah ini saya melihat hasil yang cocok dari database buku (serta metadata — hasil total, halaman saat ini, dll.).

Typesense memiliki banyak hal untuk itu ketika datang ke mesin pencari pilihan:

  • Teknologi di baliknya sepenuhnya open source dan ramah.
  • Mudah untuk mengonfigurasi pengaturan HA (Ketersediaan Tinggi), jika Anda memerlukannya.
  • Toleran dalam hal kesalahan ketik dan gangguan lainnya dalam kueri penelusuran.
  • Sistem pemfilteran tingkat lanjut bagi mereka yang membutuhkan kontrol yang cermat atas hasil pencarian.
  • API REST sederhana, meskipun dokumen mereka akan membuat Anda bekerja ekstra keras untuk menemukannya!
  • Klien (SDK) tersedia untuk beberapa bahasa utama (JavaScript, Python, Ruby, dan PHP).

Terakhir, jika Anda merasa ide menyiapkan server baru melelahkan, Typesense juga memiliki penawaran cloud di mana penyediaan membutuhkan satu klik. Penagihan dilakukan per jam, dan membaca dan menulis tidak diukur. Terus terang, saya akan mengatakan ini adalah pilihan yang lebih baik untuk sebagian besar bisnis, asalkan mereka telah menentukan harga sebelumnya dan memastikan itu adalah keuntungan bersih.

  Mengapa Saya Masih Menggunakan PowerPC Mac Lama di Tahun 2020

Secara keseluruhan, Typesense sangat masuk akal (tidak ada permainan kata-kata!) Jika Anda membutuhkan sesuatu yang kecil, apik, tepat, dan pekerja keras yang nyata.

Sonik

Sonic bangga menjadi alternatif ElasticSaerch yang berjalan pada “beberapa MB RAM”.

Bagaimana ini mungkin?

Yah, Java Virtual Machine (JVM) dikenal haus RAM (umumnya, memulai JVM memakan sekitar 1 GB RAM); tidak mengherankan, kemudian, bahwa sesuatu yang dikodekan dalam bahasa Rust (yang memberikan kontrol penuh dan keamanan memori untuk pengembang) dapat berjalan sama cepatnya dan hanya menggunakan beberapa MB RAM.

Tenang, semuanya! Itu hanya maskot proyek.

Pada saat penulisan, ada beberapa perusahaan yang terdaftar di antara penggunanya, meskipun saya yakin ada beberapa lagi yang tidak repot-repot menambahkan nama mereka. Saya tidak ingat bagaimana atau kerangka waktu yang tepat, tetapi saya telah menemukan Sonic sebelumnya; pada saat itu, sementara saya senang melihat alternatif memori rendah, saya pikir perlu waktu untuk menstabilkan dan menghilangkan bug tersembunyi. Yah, sepertinya mereka kurang lebih sudah tiba; seberapa populer Sonic menjadi sesuatu yang hanya akan ditentukan oleh waktu.

Oke, selain perenungan yang panjang, mengapa Anda harus mempertimbangkan untuk menggunakan Sonic untuk organisasi/proyek Anda?

Berikut beberapa alasannya:

  • Jejak memori yang sangat rendah, sejauh mesin pencari pergi.
  • Perpustakaan tersedia untuk semua bahasa pemrograman utama. Node, PHP, dan Rust adalah apa yang dirilis oleh penulis sendiri, sementara yang lain dibuat oleh komunitas (bersukacitalah, karena kaku eksotis seperti Elixir dan Nim juga diliput!).
  • Beberapa bahasa didukung (terlalu banyak untuk dihitung, tetapi saya pikir pada saat penulisan, 40-50 bahasa didukung).
  • Kejutan! Anda bahkan dapat menggunakan bahasa baru, dan mesin akan bekerja (😂😂), meskipun Anda akan kehilangan beberapa fungsi lanjutan seperti kata henti.
  • Mesin yang sangat cepat. Jika Anda memeriksa halaman GitHub mereka, Anda akan melihat bahwa penyerapan dan waktu pencarian berada dalam mikrodetik dalam beberapa kasus! Tentu saja, ini adalah pengujian satu mesin, karena latensi jaringan tidak akan pernah membiarkan angkanya serendah ini.

Jika Anda ingin melihat mesin ini beraksi, buka tautan ini (salah satu perusahaan pengguna mereka) dan mainkan dengan kotak pencarian yang Anda lihat di sana:

Ada batasan tertentu untuk Sonic sebagai mesin pencari. Pengembang telah menyoroti dan mendiskusikannya secara terbuka di halaman GitHub mereka. Saran saya adalah memeriksa daftar ini dengan cermat dan menetapkan bahwa kasus penggunaan Anda tidak sama dengan domain mereka. Yang mengatakan, semuanya memiliki keterbatasan; hanya saja mereka disembunyikan, jadi kita tidak menyadarinya sampai terlambat. Oleh karena itu, saya menganggap Sonic sebagai pilihan tepat untuk mesin pencari.

Pencarian TNT

Kami sekarang memiliki entri yang menarik dalam daftar ini. Hal pertama yang menarik adalah bahwa mesin pencari dengan fitur lengkap dan siap produksi ini ditulis dalam PHP!

Ya, dari semua bahasa yang mungkin, PHP. Dan saya mengatakan itu bukan karena saya membenci PHP tetapi karena ini adalah proses desain yang berumur pendek.

Hal menarik kedua adalah lisensi mereka, setidaknya pada saat penulisan. Sebenarnya lisensinya sendiri adalah MIT, jadi tidak ada masalah disana, tapi penulis mengklasifikasikan software ini sebagai PS4Ware; jika Anda menggunakan TNTSearch dalam produksi, Anda harus mengirimi mereka game PS4! 😂😂 Sekarang, itu tidak wajib, seperti yang ditunjukkan oleh “seharusnya”, tetapi itu lucu di luar dugaan. Saya juga berharap mereka meng-upgrade ke lisensi PS5, meskipun terlalu dini sekarang.

Bagaimanapun, berasal dari latar belakang PHP + Laravel yang kuat, saya sangat menghargai upaya orang-orang ini. Situs web mereka tidak banyak bicara tetapi tampaknya menunjukkan bahwa mereka adalah konsultan, jadi saya sangat menyarankan Anda menghubungi mereka jika Anda memiliki proyek!

Sekarang, apakah ada alasan bagus untuk menggunakan TNTSearch dalam proyek Anda?

Ya, ada:

  • Dikodekan dalam PHP, untuk PHP, oleh PHP. Ekosistem PHP membutuhkan solusi yang lebih berdedikasi dan berkualitas tinggi seperti ini.
  • Fitur penting seperti pencarian fuzzy, pencarian geografis, dan klasifikasi teks.
  • Mudah untuk mengubah indeks pencarian, yang merupakan fleksibilitas utama yang hilang dari banyak solusi.
  • Stemming, peringkat BM25, dan tokenisasi khusus memastikan akurasi tinggi.
  • Penerapan yang mudah — sama seperti paket Komposer lainnya!

Anda dapat memeriksa kinerja mesin di sini dan melihat sendiri seberapa cepat dan akuratnya. Saya akan menekankan aspek PHP lagi: jika Anda mempertahankan proyek PHP, Anda ingin tetap berada di dalam dinding PHP sebanyak mungkin (mengapa? pikirkan biaya pelatihan ulang). Dan untuk kasus seperti itu, TNTSearch menghadirkan proposisi nilai yang sulit ditolak!

  Cara Menyimpan Panggilan Konferensi (dan Kode Akses) sebagai Kontak

Vespa

Vespa adalah penawaran yang luas dan kelas berat. Seperti beberapa entri lain dalam daftar ini, terlalu besar untuk ditangkap dalam beberapa kata. Tapi saya harus mencoba, jadi saya akan melakukannya. Vespa adalah mesin pencari, tentu saja, tetapi menggunakannya sebagai mesin pencari biasa akan membuang-buang potensinya.

Vespa dibangun untuk menangani data dalam jumlah tak terbatas (Big Data) dan menyediakan fitur berbasis Machine Learning dan kustomisasi tanpa akhir di atas itu semua.

Vespa memposisikan dirinya sebagai pesaing Elasticsearch dan database tradisional dan memberikan perbandingan yang layak tentang apa yang harus digunakan dan kapan.

Seperti yang Anda lihat, semakin dekat Anda dengan operasi berbasis Machine Learning, Vespa semakin masuk akal. Sebagai mesin pencari murni untuk bisnis tingkat kecil hingga menengah, saya tidak berpikir itu memiliki kelebihan dibandingkan opsi lain.

Sekarang, mengingat Anda menghasilkan data dalam jumlah besar secara terus menerus dan ingin membuat pengambilan keputusan yang lebih baik melalui AI/ML (deskripsi yang sesuai dengan banyak bisnis SaaS saat ini), inilah mengapa Vespa sangat masuk akal:

  • Sumber terbuka: Tidak ada lisensi aneh dan tidak ada kontrak yang menjebak. Dan tidak ada yang perlu dibayar di atas itu, meskipun saya selalu menekankan bahwa perusahaan membayar jumlah reguler untuk proyek yang paling sering mereka gunakan (bahkan $50/bulan akan sangat membantu mereka).
  • Real-time: Vespa benar-benar real-time. Itu tidak bisa hanya mencerna, mengolah, dan mencari data saat masuk; bahkan konfigurasinya dapat dimodifikasi dengan cepat.
  • Terukur dan toleran: Vespa sepele untuk skala. Ini juga merespons dengan sangat baik terhadap hilangnya node secara tiba-tiba, memberikan keandalan yang tinggi.
  • Peringkat dan rekomendasi: Pencarian, peringkat, dan rekomendasi Vespa dapat digabungkan dengan kueri terstruktur untuk memberikan hasil yang benar-benar akurat.
  • AI/ML tanpa rasa sakit: Vespa dilengkapi dengan model ML berkualitas tinggi yang telah dilatih sebelumnya. Anda tidak perlu mempekerjakan 20 ilmuwan data untuk membersihkan dan menggunakan data Anda.
  • Plugin khusus: Ada set lengkap API yang membantu pengembang membuat plugin Java khusus, jika mereka perlu mengubah cara kerja mesin.

Vespa sangat besar, tidak diragukan lagi, jadi jelas untuk tim yang sedikit melampaui tingkat awal — apakah itu ukuran tim, kecakapan teknologi, anggaran infrastruktur, volume data harian, atau yang lainnya. Untuk segmen ini, Vespa akan menjadi home run dan sangat direkomendasikan.

Ambar

Untuk beberapa bisnis, data pencarian belum diubah dan disimpan dengan rapi sebagai dokumen JSON; sebaliknya, ini berantakan dalam arti kata yang sebenarnya — kumpulan kacau dari semua jenis dokumen seperti Word, PDF, file HTML, dll. Jika Anda salah satunya dan berpikir tidak ada harapan bagi Anda, yah, katakanlah halo untuk Ambar!

Hal terbaik tentang Ambar adalah jenis file besar yang dapat digunakannya:

  • Format file MS Office (.docx, .xlsx, dll.), termasuk PowerPoint, Visio, dan Publisher!
  • Format file OpenOffice
  • Dokumen PDF dengan OCR otomatis diterapkan untuk mengekstrak informasi.
  • Gambar-gambar
  • Format arsip email seperti PST (halo, pengguna Outlook!)
  • Pesan email dengan lampiran

Barangnya tidak berakhir di sini juga. Ambar mampu bekerja dengan file besar (lebih dari 30MB), arsip ZIP, dan multithreading untuk penggunaan CPU penuh dan hasil yang lebih cepat. Jadi, jika Anda memiliki dokumen berharga bertahun-tahun yang tersimpan di beberapa disk di server yang terlupakan, inilah saatnya untuk mengembalikannya dan memberi makan semuanya ke Ambar!

Kesimpulan

Pencarian sangat kuat, pencarian itu ajaib, dan pencarian ada di mana-mana!

Bahkan mungkin sihir hitam, tetapi hari ini tidak ada alasan mengapa semua orang (dengan bantuan pengembang, tentu saja) tidak dapat menuai manfaatnya. Dari bisnis hingga individu hingga pemerintah, mesin pencari dalam daftar ini memberikan penawaran hampir tanpa usaha dengan manfaat dan dampak eksponensial.

Silakan dan dapatkan server cloud dan instal perangkat lunak pencarian yang tercantum di atas yang ingin Anda alami.