2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kirjailija: ElasticJeff Vestal, Jack Conradson
Vuonna 8.14 Elastic esitteli uuden hakuominaisuuden nimeltä "noutaja" Elasticsearchissa. Lue lisää niiden yksinkertaisuudesta ja tehokkuudesta sekä siitä, kuinka ne voivat parantaa hakutoimintojasi.
Noutajat ovat uusi abstraktiokerros, joka on lisätty Elasticsearchin hakusovellusliittymään. Ne tarjoavat mahdollisuuden monivaiheisten hakuputkien määrittämiseen yhdessä _search API -kutsussa. Tämä arkkitehtuuri yksinkertaistaa sovelluksesi hakulogiikkaa poistamalla useiden Elasticsearch API -kutsujen tarpeen monimutkaisille hakukyselyille. Se vähentää myös asiakaspuolen logiikan tarvetta, mikä vaatii usein useiden kyselyjen tulosten yhdistämistä.
Ensimmäisessä julkaisussa on kolme noutajatyyppiä. Jokainen noutaja on suunniteltu tiettyyn tarkoitukseen, ja yhdistettynä ne voivat suorittaa monimutkaisia hakuja.
Saatavilla olevia tyyppejä ovat:
Perinteisissä kyselyissä kysely on osa yleistä hakusovellusliittymäkutsua. Noutajat eroavat toisistaan siinä, että ne on suunniteltu itsenäisiksi kokonaisuuksiksi, joita voidaan käyttää yksittäin tai helposti yhdistellä. Tämä modulaarinen lähestymistapa tarjoaa enemmän joustavuutta hakustrategioita suunniteltaessa.
Noutajat on suunniteltu osaksi "noutajapuuta", hierarkkista rakennetta, joka määrittää hakutoiminnot selventämällä niiden järjestystä ja logiikkaa. Tämä rakenne tekee monimutkaisista hauista helpommin hallittavissa, kehittäjien on helpompi ymmärtää ja mahdollistaa uusien ominaisuuksien lisäämisen helposti tulevaisuudessa.
Noutajat tukevat koostettavuutta, jolloin voit rakentaa putkia ja integroida erilaisia hakustrategioita. Tämä mahdollistaa erilaisten hakuyhdistelmien helpon testaamisen. Ne tarjoavat myös paremman hallinnan siihen, miten asiakirjoja pisteytetään ja suodatetaan. Voit esimerkiksi määrittää vähimmäispistemäärän, käyttää monimutkaisia suodattimia vaikuttamatta pisteisiin ja käyttää parametreja, kuten terminate_after suorituskyvyn optimointiin.
Ylläpitää taaksepäin yhteensopivuuden vanhojen kyselyelementtien kanssa muuntaen ne automaattisesti sopiviksi noutajiksi.
Katsotaanpa joitain esimerkkejä noutajien käytöstä. Käytämme IMDB-mallitietojoukkoa.
Voit ajaa mukana jupyter muistikirja, tuo IMDB-tiedot palvelimettomaan hakuprojektiisi ja suorita seuraavat esimerkit itse!
Korkean tason asetukset ovat:
- GET /imdb_movies/_search?pretty
- {
- "retriever": {
- "standard": {
- "query": {
- "term": {
- "overview": "clueless"
- }
- }
- }
- },
- "size": 3,
- "fields": [
- "names",
- "overview"
- ],
- "_source": false
- }
- GET /imdb_movies/_search?pretty
- {
- "retriever": {
- "knn": {
- "field": "overview_dense",
- "query_vector_builder": {
- "text_embedding": {
- "model_id": ".multilingual-e5-small_linux-x86_64",
- "model_text": "clueless slackers"
- }
- },
- "k": 5,
- "num_candidates": 5
- }
- },
- "size": 3,
- "fields": [
- "names",
- "overview"
- ],
- "_source": false
- }
- GET /imdb_movies/_search?pretty
- {
- "retriever": {
- "standard": {
- "query": {
- "text_expansion": {
- "overview_sparse": {
- "model_id": ".elser_model_2_linux-x86_64",
- "model_text": "clueless slackers"
- }
- }
- }
- }
- },
- "size": 3,
- "fields": [
- "names",
- "overview"
- ],
- "_source": false
- }
- GET /imdb_movies/_search?pretty
- {
- "retriever": {
- "rrf": {
- "retrievers": [
- {
- "standard": {
- "query": {
- "term": {
- "overview": "clueless slackers"
- }
- }
- }
- },
- {
- "knn": {
- "field": "overview_dense",
- "query_vector_builder": {
- "text_embedding": {
- "model_id": ".multilingual-e5-small_linux-x86_64",
- "model_text": "clueless slackers"
- }
- },
- "k": 5,
- "num_candidates": 5
- }
- },
- {
- "standard": {
- "query": {
- "text_expansion": {
- "overview_sparse": {
- "model_id": ".elser_model_2_linux-x86_64",
- "model_text": "clueless slackers"
- }
- }
- }
- }
- }
- ],
- "rank_window_size": 5,
- "rank_constant": 1
- }
- },
- "size": 3,
- "fields": [
- "names",
- "overview"
- ],
- "_source": false
- }
Noutaja sisältää tiettyjä rajoituksia, jotka käyttäjien tulee olla tietoisia. Esimerkiksi yhdistetyn noutajan käyttö sallii vain elementtien kyselyn. Tämä pakottaa huolenaiheet erottelemaan selkeämmin ja estää monimutkaisuuden, joka aiheutuu liiallisesta sisäkkäisestä tai riippumattomasta määrityksestä. Lisäksi lapsinoutajat eivät saa käyttää elementtejä, jotka rajoittavat yhdistelmänoutajan kuulumaan noutajapuuhun.
Nämä rajoitukset parantavat suorituskykyä ja koostettavuutta jopa monimutkaisia hakustrategioita käytettäessä.
Noutaja julkaistaan alun perin teknisenä esikatseluna, joten sen API voi muuttua
Hakijat ovat tärkeä askel eteenpäin Elasticsearch-haun toimivuudessa ja käyttäjäystävällisyydessä. Ne voidaan ketjuttaa putkeen siten, että jokainen noutaja soveltaa logiikkaansa ja välittää tulokset ketjun seuraavaan kohtaan. Noutajat voivat parantaa merkittävästi hakukokemusta mahdollistamalla jäsennellyt, joustavammat ja tehokkaammat hakutoiminnot.
Seuraavat resurssit tarjoavat lisätietoja noutajista.
Kokeile yllä olevaa koodia itse!Voit juostamukana tuleva jupyter-muistikirja, tuo IMDB-tiedot Elastic Serverless Search -projektiin!
Oletko valmis kokeilemaan sitä itse?alkaaIlmainen kokeilu。
Haluatko Elastic-sertifioinnin?Ota selvää ensi kerrallaElasticsearch-insinöörikoulutusMilloin aloittaa!
alkuperäinen:Elasticsearchin noutajat – Elasticsearchin hakunoutajien käyttäminen – Elastic Search Labs