

Elasticlunr adalah perpustakaan pencarian teks lengkap untuk digunakan di lingkungan Elixir. Ini mengindeks dokumen JSON dan menyediakan antarmuka pencarian yang ramah untuk mengambil dokumen.
Perpustakaan dibangun untuk aplikasi web yang tidak memerlukan kompleksitas penyebaran mesin pencari populer sambil memanfaatkan kemampuan balok.
Bayangkan berapa banyak yang diperoleh ketika fungsi pencarian aplikasi Anda berada di lingkungan yang sama (balok VM) seperti logika bisnis Anda; Pencarian menyelesaikan lebih cepat, jumlah layanan (Elasticsearch, Solr, dan sebagainya) untuk memantau pengurangan.
Perpustakaan dapat diinstal dengan menambahkan elasticlunr ke daftar dependensi Anda di Mix.exs:
def deps do
[
{ :elasticlunr , "~> 0.6" }
]
endDokumentasi dapat ditemukan di hexdocs.pm. Lihat Posting Blog Pengantar Elasticlunr dan Livebook untuk contoh.
Terkadang pengguna ingin memperluas token kueri untuk meningkatkan penarikan. Misalnya, token kueri pengguna adalah "mikro", dan asumsikan "microwave" dan "mikroskop" ada dalam indeks, jika pengguna memilih untuk memperluas token kueri "mikro" untuk meningkatkan penarikan, keduanya "microwave" dan "mikroskop" akan dikembalikan dan mencari dalam indeks. Hasil kueri dari token yang diperluas dihukum karena tidak sama dengan token kueri.
Repositori menyertakan file liveBook yang dapat Anda jalankan. Anda dapat mengklik tombol di bawah ini untuk menjalankannya menggunakan liveBook.dev!
ElasticLunr memungkinkan Anda untuk menulis indeks Anda ke penyedia penyimpanan apa pun yang Anda inginkan. Anda tidak perlu memerlukan modul Elasticlunr.Storage secara langsung, digunakan oleh Elasticlunr.IndexManager . Lihat penyedia yang tersedia di bawah ini:
Untuk mengonfigurasi penyedia apa yang akan digunakan:
config :elasticlunr ,
storage: Elasticlunr.Storage.S3Perhatikan bahwa semua indeks dalam penyimpanan dimuat sebelumnya pada startup aplikasi. Untuk melihat konfigurasi penyedia yang tersedia, Anda harus merujuk modulnya.
Elasticlunr dirilis di bawah lisensi MIT - lihat file lisensi.