Aplikasi REST untuk konsultasi pengguna menggunakan FLS (pencarian teks lengkap).
Lakukan
$ docker -vuntuk memeriksa instalasi.
Clone the Repository ( $ git clone [email protected]:gustavo-flor/find-user-service.git );
Kunjungi Folder Kloned ( $ cd find-user-service )? ️;
Jalankan Build Aplikasi ( $ ./mvnw clean install -DskipTests=true );
Naikkan layanan dan dependensinya ( $ docker compose up );
Kami siap menggunakan aplikasi melalui titik akhir http://localhost:8080/search ?
Akses lingkungan "produksi" untuk menguji aplikasi.
Penting untuk dicatat bahwa itu bukan host yang berdedikasi, jadi lentidon atau keterbatasan refuke diharapkan. Pada akses pertama, penundaan dapat terjadi untuk respons.
Dapatkan | /search?query={terms} | json
Pengguna yang ditemukan berdasarkan persyaratan yang dikirim, dipesan sesuai dengan relevansi dan kompatibilitas pengguna dengan ketentuan tersebut.
Istilah : Setiap kata yang dipisahkan oleh ruang dianggap sebagai istilah (jika ada kebutuhan untuk digunakan untuk mencari kalimat tertentu, kirimkan kalimat antara kutipan ganda)
Contoh:
query=Pedro Gabriel : Aplikasi akan mencari pengguna yang merenungkan istilah "Peter" atau "Gabriel" (atau turunannya, saya menjelaskan ini lebih baik dalam topik "Detail + Sasaran ...");
query="Pedro Gabriel" : Aplikasi akan mencari pengguna yang merenungkan istilah "Pedro Gabriel";
query="Pedro" Gabriel : Aplikasi akan mencari pengguna yang merenungkan istilah "Peter" atau merenungkan "Gabriel" (atau turunannya).
| Parameter | Keterangan | Wajib |
|---|---|---|
| pertanyaan | Istilah untuk pencarian. | Ya |
| Dari | Halaman, jumlah halaman dimulai pada 0. Nilai Standar: 0. | TIDAK |
| ukuran | Batas pengguna per halaman. Nilai Standar: 15. | TIDAK |
| debug | Menambah kembali pengguna ke relevansi dan kompatibilitas catatan dengan persyaratan yang dikirim. Nilai Standar: False, Nilai yang Diizinkan [Benar, Salah]. | TIDAK |
Contoh:
$ curl http://localhost:8080/search ? query=%22pedra%22 {
"from" : 0 ,
"size" : 15 ,
"data" : [
{
"id" : "9f64853b-f164-4b13-a3d7-1fdb9977e516" ,
"name" : "Jeferson Pedra" ,
"username" : "jeferson.pedra"
} ,
{
"id" : "b4026e35-932c-4943-b0db-7dd31eca5597" ,
"name" : "Stefane Pedra Zimiani" ,
"username" : "stefane.pedra.zimiani"
}
]
}Pengembalian Pengguna dengan
debug: true
{
"textScore" : 1.5 ,
"id" : "482c46f3-a27c-4f1a-abd0-3039ede21fdd" ,
"name" : "Gustav Berghahn" ,
"username" : "gustav.berghahn" ,
"relevance" : 3
} Kebutuhannya adalah membangun aplikasi yang dapat diskalakan dan berkinerja tinggi yang dapat mencari melalui satu atau lebih pengguna dari database tertentu dan memesannya sesuai dengan relevansinya. Mengetahui ini dipilih untuk membuat aplikasi Spring + MongoDB.
Kami tidak memiliki titik akhir untuk memasukkan pengguna baru, mereka disertakan saat memanjat aplikasi berdasarkan file yang ada di folder
resourcesproyek Java.
Apa motivasi penggunaan musim semi?
Pertama dan yang paling penting adalah keakraban dengan kerangka kerja, tetapi juga kemudahan membuat dan mengkonfigurasi istirahat API dengannya, serta memfasilitasi konfigurasi dengan MongoDB dan platform penyebaran lainnya (Heroku).
Apa motivasi untuk penggunaan MongoDB?
Mengetahui kebutuhan kita, kita dapat menyadari bahwa kita tidak harus berurusan dengan hubungan apa pun dalam database kita, sehingga itu akan menjadi alasan yang bagus, tetapi alasan utama saya tidak bisa berbohong: P adalah fitur pencarian teks Anda ... fts tadãÃ
Keuntungan dan Kerugian Pencarian Teks Lengkap ...
Dengan mengindeks teks pencarian untuk pencarian, FTS akhirnya membawa banyak kinerja dibandingkan dengan opsi seperti "suka", solusi ini berspesialisasi dalam pencarian istilah, sehingga sering dapat melakukan pencarian jauh lebih tepat dan lebih cepat.
Kerugian dan musuh terbesarnya adalah: FTS bukanlah "seperti", dan pada awalnya sulit untuk memahami hal ini, kita tidak dapat mengirim setengah dari istilah dan percaya bahwa pencarian akan bekerja seperti yang kita harapkan.
Mengetahui hal ini untuk pencarian yang lebih tepat, sangat ideal untuk benar -benar mengetahui semua kemungkinan yang diberikan FTS kepada kita melalui dokumentasinya.
Repositori dengan aplikasi web untuk mengkonsumsi layanan ini, find-user-web [sedang dikembangkan].
Jangan ragu untuk membuat perbaikan untuk solusi ini ⚗, pelukan besar!