Kenttien kuvausten mukauttaminen
Syventykää eri kenttätyyppien, kuten text-, keyword-, numeeristen, päivämäärä- ja boolean-kenttien, eksplisiittisten kuvausten määrittämiseen.
Kenttien kuvausten mukauttaminen on ilmainen Elasticsearch ja kokotekstihaun järjestelmät-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Elasticsearch ja kokotekstihaun järjestelmät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Elasticsearch ja kokotekstihaun järjestelmät-kurssilla on yhteensä 4 oppituntia.
Miksi mappauksia mukautetaan?
Elasticsearch on älykäs! Se arvaa usein tietotyyppisi, kun indeksoit asiakirjan (tätä kutsutaan dynaamiseksi mappaukseksi). Joskus tarvitset kuitenkin tarkempaa hallintaa.
Eksplisiittisten mappausten avulla voit määrittää täsmälleen, miten asiakirjojesi kukin kenttä tallennetaan ja indeksoidaan. Tämä on olennaista optimaalisen hakutoiminnan, tehokkaan tallennuksen ja täsmällisten aggregointien kannalta.
Indeksin rakenteen määrittäminen
Mapping toimii indeksin skeeman tavoin. Yleensä määrität sen uutta indeksiä luodessasi. Se sijaitsee indeksin luontipyynnön "mappings"-objektissa.
Tässä on perusrakenne:
PUT /my_new_index
{
"mappings": {
"properties": {
"your_field_name": {
"type": "field_type_here"
}
}
}
}"properties"-objekti sisältää kaikkien kenttien määritykset.
<code>text</code>-kenttätyyppi
text-kenttätyyppi on tarkoitettu koko tekstin hakuun. Ajattele blogikirjoituksen sisältöä, tuotekuvauksia tai kommentteja.
Kun indeksoit dataa text-kenttään, Elasticsearch "analysoi" sen:
- Jakaa sen yksittäisiksi sanoiksi (tokeneiksi).
- Muuttaa sanat pienaakkosiksi.
- Poistaa yleiset sanat (stop-sanat), jos näin on määritetty.
Tämä prosessi tekee tekstistä helposti haettavaa, mutta sen vuoksi text-kenttä ei sovellu täsmälliseen vertailuun, suodatukseen tai lajitteluun.
<code>keyword</code>-kenttätyyppi
keyword-kenttätyyppi on tarkoitettu täsmällisille arvoille, jotka säilytetään sellaisinaan ilman analysointia. Käytä sitä, kun tarvitset täsmällistä vertailua, suodatusta tai lajittelua.
Esimerkkejä keyword-kenttiin sopivista tiedoista:
- Tuotetunnukset (esimerkiksi "PROD-123")
- Tunnisteet (esimerkiksi "new_arrival")
- Käyttäjänimet (esimerkiksi "john_doe")
- Tilakoodit (esimerkiksi "active", "pending")
keyword-kentät ovat erittäin tehokkaita aggregointeihin ja täsmällisiin suodattimiin.
<code>text</code>- ja <code>keyword</code>-esimerkki
Havainnollistetaan eroa. Kuvittele indeksoivasi blogikirjoituksen, jossa on title- ja tag-kentät:
PUT /my_blog_posts
{
"mappings": {
"properties": {
"title": { "type": "text" },
"tag": { "type": "keyword" }
}
}
}Haku merkkijonolla "quick brown" kentästä title löytäisi tekstin "The quick brown fox". Haku merkkijonolla "quick brown" kentästä tag tuottaisi osuman vain, jos tunniste olisi *täsmälleen* "quick brown".
Numeeriset kenttätyypit
Elasticsearch tarjoaa useita numeerisia tyyppejä kokonaislukujen ja desimaalilukujen tehokkaaseen tallentamiseen. Oikean tyypin valitseminen säästää tilaa ja optimoi kyselyjen suorituskykyä.
- Kokonaisluvut:
long,integer,short,byte. Käytä ikään tyyppiäintegerja suurille tunnisteille tyyppiälong. - Desimaaliluvut:
double,float,half_float,scaled_float. Käytä hintoihin tai mittaustuloksiin tyyppiäfloattaidouble.
Esimerkiksi "age": { "type": "integer" }.
Päivämääräkentän tyyppi
date-kenttätyyppiä käytetään päivämäärien ja kellonaikojen tallentamiseen. Elasticsearch tukee oletusarvoisesti useita vakiomuotoisia päivämäärämuotoja, kuten ISO 8601:tä.
Voit myös määrittää mukautetun format-muodon, jos päivämääräsi noudattavat tiettyä rakennetta:
"publish_date": {
"type": "date",
"format": "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd"
}Päivämäärät tallennetaan sisäisesti millisekunteina epookista, mikä mahdollistaa tehokkaat välikyselyt ja lajittelun.
Totuusarvokentän tyyppi
boolean-kenttätyyppi on yksinkertainen ja tehokas tapa tallentaa arvoja true tai false. Se sopii erinomaisesti binaarisiin lippuihin tai tilan ilmaisimiin.
Voit esimerkiksi ilmaista, onko tuote parhaillaan saatavilla:
"is_available": {
"type": "boolean"
}Elasticsearch hyväksyy totuusarvoille useita esitysmuotoja, kuten "true", "false", "T", "F", "on", "off", "yes", "no", "1" ja "0".
Kattava mukautettu mapping-esimerkki
Kootaan oppimamme asiat ja luodaan kattava mapping tyypillisen verkkokaupan tuoteindeksille:
PUT /products_catalog
{
"mappings": {
"properties": {
"product_id": { "type": "keyword" },
"name": { "type": "text" },
"description": { "type": "text" },
"price": { "type": "float" },
"stock_quantity": { "type": "integer" },
"category": { "type": "keyword" },
"release_date": { "type": "date", "format": "yyyy-MM-dd" },
"is_featured": { "type": "boolean" }
}
}
}Mapping-tietovisa
Kenttään nimeltä "order_id" tallennetaan yksilöllisiä tapahtumatunnisteita, kuten "TXN-2023-007". Tilauksia on voitava suodattaa ja lajitella täsmällisesti tämän tunnisteen perusteella. Mikä kenttätyyppi on sopivin?
Kertaus: mukautetut mappaukset
Hienoa työtä! Olette perehtyneet perusteellisesti kenttien mappausten eksplisiittiseen määrittämiseen Elasticsearchissa.
Käsittelimme seuraavat aiheet:
- Miksi mukautetut mappaukset ovat välttämättömiä tarkan hallinnan kannalta.
- Indeksimappausten määrittämisen perusrakenne.
- Tärkeimmät kenttätyypit:
text,keyword,numeric,datejaboolean. - Miten valitaan oikea tyyppi tietojen erityistarpeiden perusteella.
Mappausten mukauttaminen on perustaito tehokkaiden ja suorituskykyisten hakusovellusten rakentamisessa!
Opi Elasticsearch ja kokotekstihaun järjestelmät tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Kenttien kuvausten mukauttaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Elasticsearch ja kokotekstihaun järjestelmät-oppimispolun 3 oppituntia, myös oppitunnin “Kenttien kuvausten mukauttaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Elasticsearch ja kokotekstihaun järjestelmät-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Kenttien kuvausten mukauttaminen”?
Syventykää eri kenttätyyppien, kuten text-, keyword-, numeeristen, päivämäärä- ja boolean-kenttien, eksplisiittisten kuvausten määrittämiseen. Harjoittelet Elasticsearch ja kokotekstihaun järjestelmät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Elasticsearch ja kokotekstihaun järjestelmät-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Elasticsearch ja kokotekstihaun järjestelmät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Kenttien kuvausten mukauttaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Elasticsearch ja kokotekstihaun järjestelmät-oppitunnilla?
Kyllä. Jokainen Elasticsearch ja kokotekstihaun järjestelmät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Kenttien kuvausten mukauttaminen
- Dynaamiset ja eksplisiittiset kuvaukset
- Indeksimallit ja aliakset
- Nested- ja object-kenttätyypit