Technology sharing

Elasticsearch consuetudo scoring and scripted scoring

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

In elastica investigatione, defectus mechanismi scoringis (qualis algorithmus BM25) bonum inquisitionis eventum ordinem in pluribus praebere potest. Attamen in quibusdam missionibus specificis, subtilius genus quaerendi eventus ex negotiis necessariis conficere necesse est. Hoc tempore, Elasticsearch praebet consuetudinem scoring (Function Score Query) et script scoring (Script Score) munera ut his multiplicibus necessitatibus occurrant. Articulus hic declarabit quomodo scoring et scripta scoring in elastica investigatione mos est.

1. customized scoring (munus score Query)

1.1 Definitio et Principium

Consuetudo scoring permittit nos defaltam ustulo modificare pro singulis documentis innixa praefinitis functionibus. Hae functiones novas aestimationes computare possunt in valoribus documenti campi, criteriis interrogationis vel aliorum factorum. Ultimo, elasticas investigationes cum ustulo originali componet cum ustulo consueto ut ordinem proventus inquisitionis determinet.

1.2 Communiter munera

Investigatio elastica variam praebet aedificatam in functionibus pro consuetudine scoringis, inclusis sed non limitibus ad:

  • pondus: Uniforme pondus omnibus documentis adaptatis.
  • field_value_factor: Adice aestimationem secundum valores campi in documento.
  • random_score: Generale temere pro documento.
  • corruption_function: ustulo attenuationis computa in distantia inter documentum et punctum quendam (ut locus geographicus, tempus, etc.).
  • script_score: Consuetudo scriptorum utere ad aestimationes computandas.

1.3 Exemplum

Puta nos website commercium habere, et usores considerare velle pretium producti et aestimationes cum quaerendo fructus.uti possumusfunction_scoreQuery hanc postulationem assequi:

GET /products/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "name": "手机"
        }
      },
      "functions": [
        {
          "field_value_factor": {
            "field": "price",
            "modifier": "reciprocal",
            "params": {
              "scale": 100
            }
          }
        },
        {
          "field_value_factor": {
            "field": "rating",
            "missing": 1.0
          }
        }
      ],
      "score_mode": "sum",
      "boost_mode": "replace"
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

In hoc exemplo utimurfield_value_factor Munus aestimat aestimationem consuetudinem subnixam in pretio et aestimatione item. Prices uti mutua labe (reciprocal ) ut productum cum minore pretio maiorem score habeat; Denique censum utriusque functionum addimus ac aestimationes originalis restituimus.

2. Scriptor Score

2.1 Definitio et Principium

Script scoring nobis permittit uti consuetudo linguae scriptionis (ut sine dolore) documenti rationem computare. Hic accessus maximam flexibilitatem praebet et ustulos computare potest ex quavis fere logica.

2.2 Exemplum

Puta nos velle accommodare aestimationem secundum quantitatem inventarii producti.uti possumusscript_scoremunus ad consequi hanc postulationem;

GET /products/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "name": "手机"
        }
      },
      "functions": [
        {
          "script_score": {
            "script": {
              "source": "Math.max(0, 1 - doc['stock'].value / 100.0)",
              "lang": "painless"
            }
          }
        }
      ],
      "score_mode": "multiply",
      "boost_mode": "replace"
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

Hoc exemplo utimur lingua scripta sine dolore ad aestimationem computandam. Scriptum determinat inventarium quantitatem producti (doc['stock'].value ) Quantitas inventarii maior, minor score; Multiplicamus ergo hoc nomen cum originali rating ad componendos proventus ultimos inquisitionis ordinem.

3. Libri

Consuetudo scoring et scriptor scoring potentes sunt notae ab Elasticsearch paratae, quae nos sinunt proventus investigationis ex rebus necessariis expolire. His muneribus rationaliter utendo, experientiam usoris emendare possumus et diversis utentium necessitatibus occurrere. Animadvertendum tamen est quod consuetudo scoring et scriptor scoring augere potest interrogationem multiplicitatem et sumptus computationales, itaque pros et cons ponderari debent in applicationibus practicis et caute adhibitis.