Cara Redis melaksanakan fungsi carian teragih
Redis ialah pangkalan data NoSQL berprestasi tinggi yang menyediakan fungsi dan struktur data yang kaya, termasuk rentetan, jadual cincang, senarai, set dan Koleksi tertib dll. Selain itu, Redis juga menyediakan beberapa fungsi lanjutan, seperti menerbitkan dan melanggan, skrip Lua dan transaksi. Antaranya, fungsi carian yang diedarkan Redis sangat praktikal dan boleh membantu kami mendapatkan data yang banyak dengan cepat. Dalam artikel ini, kami akan meneroka cara Redis melaksanakan fungsi carian teragih dan memberikan contoh kod khusus.
1 Gambaran Keseluruhan fungsi carian teragih Redis
Redis menyediakan dua fungsi carian teragih: carian teks penuh dan pengimbasan berdasarkan atribut tertentu. Di sini kita mula-mula melihat konsep dan kaedah pelaksanaan kedua-dua fungsi ini.
1. Carian teks penuh
Carian teks penuh merujuk kepada mencari rentetan tertentu dalam data teks. Dalam Redis, kami boleh menggunakan pemalam Redisearch untuk melaksanakan fungsi carian teks penuh. Pencarian semula menggunakan indeks terbalik untuk melaksanakan carian, iaitu, ia mula-mula membahagikan setiap dokumen kepada istilah, kemudian mewujudkan hubungan pemetaan antara setiap istilah dan nombor dokumen, dan akhirnya mencipta jadual indeks terbalik untuk semua istilah. Semasa mencari, anda hanya perlu mencari istilah yang akan ditanya dalam jadual indeks terbalik.
Redisearch menyokong carian kad bebas dan kabur semasa mencari, dan juga menyokong operasi logik seperti "DAN" dan "ATAU". Hasil carian boleh diisih mengikut peraturan tertentu, atau anda boleh menentukan bahawa hanya sebahagian daripada hasil carian akan dikembalikan.
2. Pengimbasan berasaskan atribut
Pengimbasan berasaskan atribut merujuk kepada menapis data yang layak berdasarkan satu atau beberapa atribut dalam set data dengan berbilang data. Dalam Redis, kita boleh menggunakan RedisGears dan Redisearch untuk mencapai fungsi ini.
RedisGears ialah pemalam yang diselenggara oleh Redis Ia menyediakan fungsi menukar pasangan nilai kunci Redis kepada strim. Kami juga boleh menggunakan RedisGears untuk mencipta beberapa strim dan kemudian mengagregatkan strim ini menggunakan arahan "FT.AGGREGATE" Redisearch. Selepas pengagregatan, data boleh ditapis dan diisih, dan juga boleh dikeluarkan kepada struktur data lain dalam Redis atau dihantar melalui rangkaian.
2. Pelaksanaan khusus fungsi carian teragih Redis
Di sini, kami mengambil carian teks penuh sebagai contoh untuk melaksanakan fungsi carian teragih. Kami akan menggunakan redisearch-py sebagai klien Python dan mensimulasikan contoh Redis pada dua nod. Dalam contoh ini, kami akan mencipta indeks dalam setiap satu daripada dua kejadian dan carian Redis.
1. Pasang kebergantungan
Pasang pustaka redisearch-py:
pip install redisearch
#🎜.🎜 contoh Pertama, kita perlu memulakan dua kejadian Redis pada dua port berbeza. Di sini kami menggunakan imej rasmi Redis dan mencipta dua contoh dengan mengubah suai parameter port. $ docker run -d -p 6380:6379 redis$ docker run -d -p 6381:6379 redis --port 6379
#🎜🎜 Buat index#3
Buat dua indeks teks penuh menggunakan objek RediSearch dalam redisearch-py (antara muka utama redisearch-py). Di sini kami telah menggunakan arahan "FT.CREATE".
dari carian semula import Klien, Pertanyaan, TextField, NumericField
client1 = Client('index1', port=6380)client2 = Client('index2', port=6381
client1.create_index((TextField('title', weight=5.0), TextField('content')))
Di sini kita takrifkan dua medan, iaitu tajuk dan kandungan. Antaranya, berat tajuk ialah 5.0, dan berat kandungan ialah nilai lalai 1.0, menunjukkan bahawa tajuk adalah lebih penting. Kami boleh menggunakan kedua-dua medan ini untuk memadankan pertanyaan carian.
4 Tambahkan data
Tambahkan beberapa data pada setiap satu daripada dua indeks untuk operasi carian seterusnya. Di sini kita hanya menggunakan arahan "FT.ADD" untuk menambah data.
client1.redis.execute_command('FT.ADD', 'idx1', 'doc1', 1.0, 'FIELDS', 'title', 'this is a title', 'content', ' inilah beberapa kandungan')
client1.redis.execute_command('FT.ADD', 'idx1', 'doc2', 1.0, 'FIELDS', 'title', 'title is important', 'content', 'kandungan tidak begitu penting')
client2.redis.execute_command('FT.ADD', 'idx2', 'doc1', 1.0, 'FIELDS', 'title', 'ini adalah tajuk', 'kandungan', 'ini ada beberapa kandungan')
Di sini kami telah menambah dua dokumen, setiap dokumen mempunyai dua medan iaitu tajuk dan kandungan.
5 Cari data
Gunakan objek RediSearch untuk melaksanakan arahan carian. Di sini kita mencari menggunakan arahan "FT.SEARCH" dan menentukan rentetan pertanyaan dan indeks untuk dicari.
result1 = client1.search('content')
result2 = client2.search('content')
Seperti yang anda lihat, kedua-dua set keputusan datang daripada Dua indeks berbeza.
6. Paparkan hasil
Akhir sekali, kami menggunakan perpustakaan pprint dalam Python untuk mencetak hasil:
dari pprint import pprint#🎜 🎜# pprint(result1)
pprint(result2)
Hasil larian adalah seperti berikut:
{'docs': [{'content': 'di sini terdapat beberapa kandungan', 'tajuk': 'ini adalah tajuk', 'id': 'doc1'}], 'total_results': 1, ' kursor': 0, 'total_pages': 1}
{'docs': [{'content': 'here is some content', 'title': 'ini adalah tajuk', 'id': 'doc1 '}], 'total_results': 1, 'cursor': 0, 'total_pages': 1}
Kita dapat melihat bahawa kedua-dua hasil carian termasuk dokumen "ini ada kandungan" .
3. Ringkasan
Dalam artikel ini, kami memperkenalkan fungsi carian yang diedarkan Redis dan memberikan contoh kod untuk carian teks penuh. Apabila melaksanakan carian teragih, kita perlu menggunakan dua pemalam, Carian Semula dan RedisGears, dan melaksanakan konfigurasi kluster pada Redis.
Fungsi carian yang diedarkan Redis bukan sahaja boleh membantu kami mendapatkan semula sejumlah besar data dengan cepat, tetapi juga mengelakkan satu titik kegagalan dan meningkatkan ketersediaan sistem. Kami percaya bahawa melalui kajian artikel ini, anda mempunyai pemahaman yang lebih mendalam tentang fungsi carian diedarkan Redis.
Atas ialah kandungan terperinci Cara Redis melaksanakan fungsi carian teragih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Beberapa cara untuk melaksanakan pernyataan pemadaman kelompok dalam MyBatis memerlukan contoh kod khusus Dalam beberapa tahun kebelakangan ini, disebabkan oleh peningkatan jumlah data, operasi kelompok telah menjadi bahagian penting dalam operasi pangkalan data. Dalam pembangunan sebenar, kita selalunya perlu memadamkan rekod dalam pangkalan data secara berkelompok. Artikel ini akan menumpukan pada beberapa cara untuk melaksanakan pernyataan padam kelompok dalam MyBatis dan memberikan contoh kod yang sepadan. Gunakan teg foreach untuk melaksanakan pemadaman kelompok MyBatis menyediakan teg foreach, yang boleh melintasi set dengan mudah.

Kaedah dan pelaksanaan pengesahan OAuth2 dalam PHP Dengan pembangunan Internet, semakin banyak aplikasi perlu berinteraksi dengan platform pihak ketiga. Untuk melindungi privasi dan keselamatan pengguna, banyak platform pihak ketiga menggunakan protokol OAuth2 untuk melaksanakan pengesahan pengguna. Dalam artikel ini, kami akan memperkenalkan kaedah dan pelaksanaan pengesahan OAuth2 dalam PHP, dan melampirkan contoh kod yang sepadan. OAuth2 ialah rangka kerja kebenaran yang membolehkan pengguna membenarkan aplikasi pihak ketiga mengakses sumber mereka pada pembekal perkhidmatan lain tanpa menyebut

PHPElasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai keupayaan carian yang fleksibel? Pengenalan: Fungsi carian adalah bahagian penting dalam membangunkan aplikasi moden. Elasticsearch ialah enjin carian dan analisis berkuasa yang menyediakan fungsi yang kaya dan pemodelan data yang fleksibel. Dalam artikel ini, kami akan menumpukan pada cara menggunakan pemetaan dinamik untuk mencapai keupayaan carian yang fleksibel. 1. Pengenalan kepada pemetaan dinamik Dalam Elasticsearch, pemetaan (mapp

HTML, CSS dan jQuery: Buat jadual data dengan fungsi carian Dalam pembangunan web moden, jadual data ialah elemen yang kerap digunakan. Untuk memudahkan pengguna mencari dan menapis data, menambah fungsi carian pada jadual data telah menjadi fungsi penting. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk mencipta jadual data dengan fungsi carian, dan menyediakan contoh kod khusus. 1. Struktur HTML Pertama, kita perlu mencipta struktur HTML asas untuk menampung jadual data

Prinsip asas dan kaedah pelaksanaan kaedah pewarisan Golang Di Golang, pewarisan merupakan salah satu ciri penting pengaturcaraan berorientasikan objek. Melalui pewarisan, kita boleh menggunakan sifat dan kaedah kelas induk untuk mencapai penggunaan semula dan kebolehlanjutan kod. Artikel ini akan memperkenalkan prinsip asas dan kaedah pelaksanaan kaedah pewarisan Golang, dan memberikan contoh kod khusus. Prinsip asas kaedah pewarisan Di Golang, pewarisan dilaksanakan dengan membenamkan struktur. Apabila struktur dibenamkan dalam struktur lain, struktur terbenam telah dibenamkan

Bagaimana untuk menggunakan PHP untuk melaksanakan fungsi carian huruf pertama pinyin? Fungsi carian huruf pertama Pinyin sangat biasa dalam banyak aplikasi, terutamanya dalam senario seperti senarai kenalan atau carian produk. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi carian huruf pertama pinyin. Idea untuk melaksanakan fungsi carian huruf awal Pinyin ialah: mengikut kata kunci yang dimasukkan oleh pengguna, padankan kata kunci dengan huruf awal Pinyin dalam senarai untuk menapis hasil yang memenuhi syarat. Pertama, kita perlu menyediakan sumber data, yang boleh menjadi tatasusunan atau jadual pangkalan data. oleh

Gambaran keseluruhan tentang cara membangunkan fungsi carian yang berkuasa menggunakan PHP dan ManticoreSearch: Fungsi carian memainkan peranan penting dalam pembangunan aplikasi moden. Untuk mencapai keupayaan carian yang cekap dan tepat, adalah penting untuk menggunakan enjin carian yang sesuai. ManticoreSearch ialah enjin carian teks penuh berkuasa yang menyediakan keupayaan carian berprestasi tinggi dan berskala. Artikel ini akan memperkenalkan cara menggunakan PHP dan ManticoreSearch untuk membangunkan fungsi carian yang berkuasa dan

Pengaturcaraan komputer telah melalui banyak perubahan dan evolusi sejak beberapa dekad yang lalu. Salah satu paradigma pengaturcaraan terkini dipanggil pengaturcaraan reaktif, yang telah menjadi lebih popular dalam pembangunan aplikasi web yang berkualiti tinggi dan berkonkurensi tinggi. PHP ialah bahasa pengaturcaraan web popular yang menyediakan set perpustakaan dan rangka kerja yang kaya untuk menyokong pengaturcaraan reaktif. Dalam artikel ini, kami akan memperkenalkan pelaksanaan pengaturcaraan reaktif dalam PHP7.0. Apakah pengaturcaraan reaktif? Sebelum membincangkan PHP7.0
