Hakutulosten korostaminen
Lisätkää hakutuloksiin korostukset, jotka tuovat löydetyt termit visuaalisesti esiin palautetuissa dokumenteissa ja parantavat käyttökokemusta.
Hakutulosten korostaminen on ilmainen Elasticsearch ja kokotekstihaun järjestelmät-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 tuloksia korostetaan?
Kuvittele etsiväsi reseptiä ja näkeväsi sanan 'chicken' korostettuna juuri siinä kohdassa, jossa se esiintyy raaka-aineissa ja valmistusohjeissa. Tätä kutsutaan korostamiseksi!
Se korostaa visuaalisesti hakutulosten osumatermejä, joten käyttäjien on paljon helpompi silmäillä tuloksia nopeasti ja löytää olennaiset tiedot.
- Parempi käyttökokemus: Käyttäjät näkevät nopeasti, miksi asiakirja on olennainen.
- Asiayhteyden vihjeet: Osuman ympäriltä näytetään tekstikatkelmia, jotka tarjoavat asiayhteyden.
- Nopeampi tiedonhaku: Epäolennaisten kohtien lukemiseen kuluu vähemmän aikaa.
Ensimmäinen korostuksesi
Peruskorostuksen lisääminen Elasticsearch-hakuun on suoraviivaista. Sinun tarvitsee vain lisätä hakuusi highlight-lohko.
Tässä lohkossa määritetään, mitkä kentät haluat korostaa. Oletusarvoisesti Elasticsearch ympäröi osumatermit <em>- ja </em>-tageilla.
curl -X GET "localhost:9200/products/_search?pretty" \
-H 'Content-Type: application/json' \
-d'
{
"query": {
"match": {
"description": "lightweight laptop"
}
},
"highlight": {
"fields": {
"description": {}
}
}
}'Tiettyjen kenttien korostaminen
Edellisessä esimerkissä määritimme Elasticsearchin korostamaan description-kentästä löytyvät osumat.
highlight.fields-objekti on kohta, jossa luetellaan kaikki kentät, joihin haluat käyttää korostusta. Kullekin kentälle voit antaa oletustoimintaa varten tyhjän objektin {} tai määrittää mukautettuja asetuksia.
Vain koko tekstin hakua varten indeksoituja kenttiä, kuten text-kenttiä, voidaan korostaa tehokkaasti.
Useiden kenttien korostaminen
Usein haluat korostaa osumatermejä saman asiakirjan useissa kentissä, kuten tuotteen title- ja content-kentissä.
Lisää vain kenttiä highlight-osiossa olevaan fields-objektiin. Elasticsearch käsittelee jokaisen kentän itsenäisesti.
curl -X GET "localhost:9200/articles/_search?pretty" \
-H 'Content-Type: application/json' \
-d'
{
"query": {
"match": {
"text": "Elasticsearch indexing"
}
},
"highlight": {
"fields": {
"title": {},
"content": {}
}
}
}'Korostustagien mukauttaminen
Oletusarvoiset <em>-tagit sopivat hyvin, mutta saatat haluta käyttää korostettujen termien tyylittelyyn muita HTML-tageja tai CSS-luokkia.
Voit vaihtaa tagit käyttämällä pre_tags- ja post_tags-parametreja highlight-lohkossa. Nämä parametrit hyväksyvät merkkijonojen taulukot.
curl -X GET "localhost:9200/products/_search?pretty" \
-H 'Content-Type: application/json' \
-d'
{
"query": {
"match": {
"name": "wireless headphones"
}
},
"highlight": {
"pre_tags": ["<span class=\"highlight\">"],
"post_tags": ["</span>"],
"fields": {
"name": {}
}
}
}'Katkelman pituuden hallinta (fragment_size)
Kun asiakirja on hyvin pitkä, et yleensä halua palauttaa koko kenttää korostuksineen. Sen sijaan haluat lyhyitä ja olennaisia tekstikatkelmia.
fragment_size-parametri määrittää korostettujen katkelmien enimmäispituuden merkkeinä. Elasticsearch pyrkii katkaisemaan katkelmat lauseiden rajakohdista tai muista luontevista kohdista.
curl -X GET "localhost:9200/blogs/_search?pretty" \
-H 'Content-Type: application/json' \
-d'
{
"query": {
"match": {
"body": "data analytics"
}
},
"highlight": {
"fragment_size": 100,
"fields": {
"body": {}
}
}
}'Useita katkelmia ja osumien puuttuminen
Voit hallita myös kenttää kohden palautettavien katkelmien määrää käyttämällä asetusta number_of_fragments. Asettamalla sen arvoksi 0 palautat koko kentän sisällön yhtenä katkelmana (jos myös fragment_size on 0).
Entä jos kentässä ei ole osumia, mutta haluat silti nähdä sen sisällön? Määritä no_match_size-asetuksella palautettavan katkelman pituus, jos osumia ei löydy. Oletusarvoisesti kentästä ei palauteta katkelmaa, jos osumaa ei ole.
Katkelmien edistynyt rajaaminen
Jos haluat hallita katkelmien muodostamista vielä tarkemmin, voit käyttää asetuksia boundary_scanner, boundary_chars ja boundary_max_scan.
boundary_scanner: määrittää, miten katkelmat jaetaan (esimerkiksisentence,word,chars).boundary_chars: mukautetut merkit, joita käytetään katkelmien rajoina, kunboundary_scanneronchars.boundary_max_scan: määrittää, kuinka kauas rajamerkkejä etsitään.
Nämä asetukset ovat hyödyllisiä kielissä, joissa ei ole selkeää lauserakennetta, tai tietyntyyppisen sisällön käsittelyssä.
Korostaminen osumakentistä
Joskus hakukyselysi osuu yhteen kenttään (esimerkiksi content), mutta haluat näyttää vastaavat termit korostettuina toisessa kentässä (esimerkiksi lyhyemmässä summary- tai title-kentässä).
matched_fields-parametrilla voit määrittää kenttäluettelon, jota käytetään nykyisen kentän korostusten muodostamiseen. Tämä on tehokas tapa näyttää tiiviitä ja korostettuja katkelmia toisesta, näkyvämmästä kentästä.
curl -X GET "localhost:9200/documents/_search?pretty" \
-H 'Content-Type: application/json' \
-d'
{
"query": {
"match": {
"full_text": "distributed systems"
}
},
"highlight": {
"fields": {
"abstract": {
"matched_fields": ["full_text"],
"fragment_size": 100
}
}
}
}'Korostusasetusten tietovisa
Mitä seuraavista parametreista voidaan käyttää Elasticsearchin hakutulosten korostusten muodostamistavan mukauttamiseen?
Kertaus: korosta tärkeät osumat
Olet oppinut elävöittämään hakutuloksia korostuksilla! Tämä tehokas ominaisuus parantaa käyttökokemusta korostamalla osumatermejä visuaalisesti.
- Aloitimme peruskorostuksesta käyttämällä
highlight-lohkoa. - Voit määrittää korostettavat
fields-kentät sekä mukauttaa asetuksiapre_tags/post_tags. fragment_sizejanumber_of_fragmentsantavat hallinnan katkelmien pituuteen ja määrään.- Edistyneet asetukset, kuten
boundary_scannerjamatched_fields, tarjoavat tarkkaa hallintaa monimutkaisiin tilanteisiin.
Siirry siis tekemään hakutuloksistasi näyttäviä!
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 ”Hakutulosten korostaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Elasticsearch ja kokotekstihaun järjestelmät-oppimispolun 3 oppituntia, myös oppitunnin “Hakutulosten korostaminen”. 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 ”Hakutulosten korostaminen”?
Lisätkää hakutuloksiin korostukset, jotka tuovat löydetyt termit visuaalisesti esiin palautetuissa dokumenteissa ja parantavat käyttökokemusta. 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 3/4.
Kuinka kauan ”Hakutulosten korostaminen”-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
- Lauseke- ja läheisyyshaut
- Sumeat ja jokerimerkkikyselyt
- Hakutulosten korostaminen
- Aggregoinnit faceted-hakua varten