Tawhiti Hamming mo te Rapu Hybrid i SQLite
Tawhiti Hamming mo te Rapu Hybrid i SQLite Ka rukuhia tenei tuhura ki te hama, me te tirotiro i tona hiranga me te paanga pea. Ko nga Kaupapa Kaupapa kua hipokina Ka torotoro tenei ihirangi: Nga maataapono me nga ariā Prac...
Mewayz Team
Editorial Team
Ko te tawhiti o te Hamming he inenga ritenga taketake e tatau ana i nga moka rereke i waenga i nga aho-rua e rua, na te mea ko tetahi o nga tikanga tere me te tino pai mo te rapu tata-tata tata i roto i nga papaa raraunga. Ina tono ki te SQLite na roto i nga hoahoanga rapu ranu, ka whakatuwherahia e te tawhiti Hamming nga kaha rapu reo-a-hinonga me te kore e nui ake o nga papaunga raraunga vector i whakatapua.
He aha te Hamming Tawhiti me te aha i hirahira ai mo te Rapu Raraunga Raraunga?
Ka ine te tawhiti o te Hamming i te maha o nga tuunga e rerekee ai nga aho rua e rite ana te roa. Hei tauira, ko nga aho-rua 10101100 me 10001101 he 2 te tawhiti o te Hamming, na te mea he rereke nga waahi moka e rua. I roto i nga horopaki rapunga raraunga, ka tino kaha te ahua o tenei tatauranga.
Ko te rapunga SQL tuku iho e whakawhirinaki ana ki te tauritenga tika, ki te tuhi-tuhi-katoa ranei, e tohe ana ki te rite o nga kupu — te rapu i nga hua e te tikanga te mea kotahi, kaua ki te tiritiri i nga kupu matua rite. Ko te tawhiti o te Hamming e piri ana i tenei aputa ma te mahi i runga i nga waehere hash-rua i ahu mai i nga whakaurunga ihirangi, ka taea e nga papaunga raraunga penei i te SQLite te whakatairite i nga miriona rekoata i roto i nga mirihakona ma te whakamahi i nga mahi XOR bitwise.
I whakauruhia e Richard Hamming te inenga i te tau 1950 i roto i te horopaki o nga waehere whakatika hapa. I nga tekau tau i muri mai, ka noho matua ki te tiki korero, otira ki nga punaha he mea nui ake te tere i te tino tika. Nā tana tātaitanga O(1) mo ia whakatairite (ma te whakamahi i nga tohutohu tatau paapu PTM) ka tino pai mo nga miihini papaa raraunga kua mau me te mama.
Pehea te Rapu Ranu ki te whakakotahi i te Tawhiti Hamming me nga Uiui SQLite Tuku iho?
Ko te rapu ranu i roto i te SQLite e whakakotahi ana i nga rautaki whakahoki e rua: he rapu kupu matua iti (ma te whakamahi i te toronga rapu kupu-katoa a FTS5 i hangaia) me te rapu rite tonu (ma te whakamahi i te tawhiti Hamming i runga i nga whakaurunga ine-rua). Ko tetahi huarahi anake e ranea ana mo nga whakaritenga rapu hou.
He paipa rapu ranu angamaheni e whai ake nei:
- Whakapumautanga: Ka hurihia ia tuhinga, rekoata ranei ki tetahi vector maanu-nui ma te whakamahi tauira reo, mahi whakawaehere ranei.
- Te inenga-rua: Ka kōpekehia te vector maanu ki roto i te hash-rua kiato (hei tauira, 64, 128 paraka ranei) ma te whakamahi i nga tikanga penei i te SimHash, te matapae matapōkere ranei, e tino whakaiti ana i nga whakaritenga rokiroki.
- Pupuri taupū Haming: Ka penapenahia te hash-rua hei tīwae INTEGER, BLOB ranei i SQLite, e taea ai te mahi tere bitwise i te wa patai.
- Wai-utaki kaute: Ina tukuna e te kaiwhakamahi he patai, ka taraihia e SQLite te tawhiti o Hamming ma te mahinga scalar ritenga ma te whakamahi i te XOR me te popcount, e whakahoki ana i nga kaitono i runga i te ahua moka.
- Hononga piro: Ko nga hua mai i te rapunga kupu a Hamming me te rapu kupu matua FTS5 ka hanumi ma te whakamahi i te Reciprocal Rank Fusion (RRF) me te whiwhinga kaute hei whakaputa i te rarangi rarangi whakamutunga.
Ko te whakawhänui o SQLite na roto i nga toronga ka taea te utaina, i nga mahi whakahiato-a-roto ka taea te whakatutuki i tenei hoahoanga me te kore e heke ki te punaha putunga raraunga taumaha ake. Ko te hua ko te miihini rapu whai-whaiaro e rere ana ki nga waahi katoa e rere ana a SQLite — tae atu ki nga taputapu kua whakauruhia, nga taupānga pūkoro, me nga whakatakotoranga taha.
Maramatanga Matua: Ko te rapu a-rua Hamming i runga i nga hashes 64-bit he 30-50x te tere ake i te ahua o te cosine i runga i nga vector float32 katoa o te ahua rite. Mo nga tono e hiahia ana mo te iti-10ms te roanga rapunga puta noa i nga miriona rekoata kaore he taputapu motuhake, ko te tawhiti Hamming i roto i te SQLite te nuinga o te wa ko te pai rawa atu te hokohoko miihini i waenga i te tika me te mahi.
He aha nga ahuatanga mahi o te rapu Hamming i SQLite?
SQLite he konae-kotahi, he papaaarangi karekau, e hanga herenga ahurei me nga whai waahi mo te whakatinana i te rapu tawhiti Hamming. Ki te kore he hanganga taupū vector taketake penei i te HNSW, IVF ranei (kua kitea i roto i nga toa vector i whakatapua), ka whakawhirinaki a SQLite ki te matawai raina mo te rapu Hamming — engari he iti ake tenei i te mea e kiia ana.
Ko te tatauranga tawhiti Hamming 64-bit me he XOR anake ka whai i te tatauranga paapu (te tatau taupori, tatau i nga moka huinga). Ka mahia e nga PTM o naianei i roto i te ako kotahi. Ka oti te karapa rarangi 1 miriona moka-64 i roto i te 5–20 mirihakona i runga i nga taputapu taonga, ka taea e SQLite te mahi mo nga huingararaunga tae atu ki te maha miriona nga rekoata kaore he tinihanga tohu tohu.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Mo nga huingararaunga nui ake, ka ahu mai nga whakapainga mahi mai i te tātari-mua a te kaitono: te whakamahi i nga rara WHERE a SQLite hei whakakore i nga rarangi ma te metadata (nga awhe ra, nga waahanga, nga waahanga kaiwhakamahi) i mua i te tono i te tawhiti o Hamming, me te whakaiti i te rahi o te matawai whai hua ma nga ota nui. I konei ka whiti pono nga hoahoanga rapu ranu — ko te tātari kupu matua iti te mahi hei tātari-mua tere, a ko te tawhiti o Hamming ka whakarangatira ano i nga kaitono e ora ana.
Me pehea e Whakaritea ai e koe he Mahinga Tawhiti Hamming i SQLite?
Karekau a SQLite e whakauru mai i te mahi tawhiti Hamming taketake, engari na tana API toronga C ka ngawari ki te rehita nga mahi scalar ritenga. I roto i te Python e whakamahi ana i te kōwae sqlite3, ka taea e koe te rehita i tetahi mahi e tatau ana i te tawhiti Hamming i waenga i nga tauoti e rua:
Ka whakaaehia e te taumahi nga tohenga tauoti e rua e tohu ana i nga hashes-rua, ka tatau i a raatau XOR, ka tatau i nga moka huinga ma te whakamahi i te bin().count('1') a Python, he huarahi whawhe moka tere ake ranei. Ina rehitatia, ka watea tenei mahi i roto i nga patai SQL pera i nga mahi hanga-roto, ka taea nga patai penei i te kowhiri i nga rarangi ka taka te tawhiti o Hamming ki tetahi hash patai ki raro i te paepae, ka whakahauhia ma te tawhiti e piki ana ki te tiki i nga whakataetae tata i te tuatahi.
Mo nga mahi whakangao, ko te whakahiato i te arorau popcount hei toronga C ma te whakamahi i te sqlite3_create_function API a SQLite he 10–100x te pai ake o te mahi atu i te whakamaoritanga a Python, ka taea te rapu a SQLite's Hamming ki te taea e nga papaunga raraunga vector motuhake mo te maha o nga kawenga mahi.
Anahea nga Pakihi e whiriwhiri ai i te SQLite Hamming Rapu Mo Nga Rarangi Raraunga Vector Motuhake?
Ko te kowhiringa i waenga i te rapu Hamming-a SQLite me nga papaunga raraunga vector i whakatapua penei i a Pinecone, Weaviate, pgvector ranei e whakawhirinaki ana ki te tauine, te uaua o te whakahaere, me nga herenga tuku. Ko te rapu SQLite Hamming te whiriwhiri tika i te mea ko te ngawari, te kawe, me te utu he mea nui — koinei te take mo te nuinga o nga tono pakihi.
Ko nga papaunga raraunga vector kua whakatapua e whakaatu ana i nga mahi nui: nga hanganga motuhake, te waatea whatunga, te uaua o te tukutahi, me te utu nui i te tauine. Mo nga tono e mahi ana i te tekau mano ki te iti miriona rekoata, ko te rapu a SQLite Hamming e whakaatu ana i te whaitaketanga e anga ana ki te kaiwhakamahi me te kore rawa o nga hanganga. Ka kimi tahi i to taurangi rapu me o raraunga tono, ka whakakore i te waahanga katoa o nga tikanga rahunga punaha tohatoha.
Patai Auau
He tika te rapu tawhiti a Hamming mo nga tono rapu hanga?
Ko te tawhiti o te hama i runga i nga whakaurunga-a-rua ka tauhokohoko i te iti o te tika o te mahara mo nga hua tere. I roto i te mahi, ko te inenga-rua ka pupuri i te 90–95% o te kounga maumahara o te katoa o nga rapunga rite o te float32 cosine. Mo te nuinga o nga tono rapu pakihi — te kitenga hua, te tiki tuhinga, nga turanga matauranga tautoko kiritaki — ka tino whakaaehia tenei hokohoko, a, kaore e taea e nga kaiwhakamahi te kite i te rereketanga o te kounga hua.
Ka taea e SQLite te whakahaere i nga panui me te tuhi i nga wa e rapu ana a Hamming?
E tautoko ana a SQLite i nga panui tukutahi na roto i tana aratau WAL (Tuhia-Ahead Takitaki), ka taea e nga kaipānui maha te uiui i te wa kotahi me te kore e aukati. He iti noa te Tuhituhi Tuhituhi — Ka tuhi raupapa SQLite — engari he uaua tenei ki te kookiri mo nga mahi rapu-taimaha i te mea karekau te tuhi e pa ana ki nga panui. Mo nga tono rapu ranu panui-nui, he rawaka te aratau WAL a SQLite.
He pehea te awenga o te inenga-rua ki nga whakaritenga rokiroki ka whakatauritea ki nga vectors rewa?
He nui te penapena penapena. Me 3,072 paita (3 KB) mo ia rekoata mo te whakaurunga float32 ahu-768. Ko te 128-bit haurua o te whakaurunga kotahi me 16 paita noa - he whakahekenga 192x. Mo te huingararaunga o te 1 miriona rekoata, ko te tikanga tenei ko te rereketanga i waenga i te 3 GB me te 16 MB o te rokiroki whakauru, ka taea te rapu a Hamming i roto i nga taiao e maumahara ana ka kore e taea te rokiroki maanu katoa.
Ko te hanga hua atamai, rapua te ahua o te kaha e wehe ana i nga pakihi tipu mai i nga pakihi kua pahemo. MewayzKo te OS pakihi katoa-i-kotahi e whakawhirinakihia ana e nga kaiwhakamahi 138,000, e tuku ana i nga waahanga whakauru 207 - mai i te CRM me te tātaritanga ki te whakahaere ihirangi me tua atu - timata mai i te $19 / marama. Kati te tuitui i nga taputapu kua momotuhia ka timata ki te hanga i runga i te papa i hangaia mo te tauine.
Timatahia to haerenga ki Mewayz i tenei ra i te app.mewayz.com ka wheako i nga mahi ka taea e te punaha whakahaere pakihi whakakotahi mo to roopu.
Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 30,000+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
9 Mothers (YC P26) Is Hiring – Lead Robotics and More
Apr 7, 2026
Hacker News
NanoClaw's Architecture Is a Masterclass in Doing Less
Apr 7, 2026
Hacker News
Dropping Cloudflare for Bunny.net
Apr 7, 2026
Hacker News
Show HN: A cartographer's attempt to realistically map Tolkien's world
Apr 7, 2026
Hacker News
Show HN: Pion/handoff – Move WebRTC out of browser and into Go
Apr 7, 2026
Hacker News
AI may be making us think and write more alike
Apr 7, 2026
Ready to take action?
Start your free Mewayz trial today
All-in-one business platform. No credit card required.
Start Free →14-day free trial · No credit card · Cancel anytime