国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch(7) field_value_factor的使用

這篇具有很好參考價值的文章主要介紹了Elasticsearch(7) field_value_factor的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

elasticsearch version: 7.10.1
field_value_factor 是 Elasticsearch 中用于計算基于字段值的函數(shù)評分的一部分,它允許你根據(jù)文檔中某個字段的值來調(diào)整該文檔的評分。

field_value_factor語法

{  
  "query": {  
    "match_all": {}  
  },  
  "function_score": {  
    "functions": [  
      {  
        "field_value_factor": {  
          "field": "popularity",  
          "factor": 1,  
          "modifier": "log1p",  
          "missing": 1  
        }  
      }  
    ],  
    "score_mode": "multiply",  
    "boost_mode": "sum"  
  }  
}
{  
  "field_value_factor": {  
    "field": "your_field_name",  
    "factor": your_factor_value,  
    "modifier": "none | log | log1p | log2p | square | sqrt | reciprocal",  
    "missing": default_value_for_missing_field  
  }  
} 
  • field:這是你想要根據(jù)其值來調(diào)整評分的字段名。它應(yīng)該是一個數(shù)值字段。
  • factor:一個乘數(shù),用于調(diào)整字段值對最終評分的影響。例如,如果你想要將字段值乘以 10 來增加其影響,你可以設(shè)置 factor 為 10。
  • modifier:這是一個可選參數(shù),它定義了如何修改字段值以計算其評分貢獻(xiàn)。它可以是以下值之一:
    none:不進(jìn)行任何修改,直接使用字段值。
    log:對字段值取自然對數(shù)。
    log1p:對字段值加 1 后取自然對數(shù),這可以防止對 0 或負(fù)數(shù)取對數(shù)。
    log2p:對字段值加 1 后取以 2 為底的對數(shù)。
    square:計算字段值的平方。
    sqrt:計算字段值的平方根。
    reciprocal:計算字段值的倒數(shù)。
  • missing:當(dāng)字段的值缺失或不存在時,使用的默認(rèn)值。這確保即使某些文檔缺少該字段,也可以計算一個評分。

field_value_factor案例

場景

我們想要根據(jù)產(chǎn)品的價格來調(diào)整搜索結(jié)果的評分。文章來源地址http://www.zghlxwxcb.cn/news/detail-849553.html

索引創(chuàng)建

PUT /products  
{  
  "mappings": {  
    "properties": {  
      "title": {  
        "type": "text"  
      },  
      "price": {  
        "type": "float"  
      }  
    }  
  }  
}

文檔插入

POST /products/_doc/1  
{  
  "title": "Product A",  
  "price": 100.0  
}  
  
POST /products/_doc/2  
{  
  "title": "Product B",  
  "price": 200.0  
}  
  
POST /products/_doc/3  
{  
  "title": "Product C",  
  "price": 50.0  
}

POST /products/_doc/4  
{  
  "title": "Product D",  
  "price": 150.0  
}  
  
POST /products/_doc/5  
{  
  "title": "Product E",  
  "price": 75.0  
}  
  
POST /products/_doc/6  
{  
  "title": "Product F",  
  "price": 300.0  
}  
  
POST /products/_doc/7  
{  
  "title": "Product G",  
  "price": 250.0  
}  
  
POST /products/_doc/8  
{  
  "title": "Product H",  
  "price": 125.0  
}

查詢語句

GET /products/_search  
{  
  "query": {  
    "function_score": {  
      "query": {  
        "match_all": {}  
      },  
      "functions": [  
        {  
          "field_value_factor": {  
            "field": "price",  
            "factor": 1,  
            "modifier": "none",  
            "missing": 1  
          }  
        }  
      ],  
      "score_mode": "multiply",  
      "boost_mode": "replace"  
    }  
  }  
}

到了這里,關(guān)于Elasticsearch(7) field_value_factor的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Field error in object ‘xxx‘ on field ‘xxx‘: rejected value [xx];

    字段上對象“xxx”中的field錯誤,拒絕了值[xxx]。意思是:在Springboot等其他框架中編寫程序時,前端傳入的數(shù)據(jù)例如 前端代碼如下 這個phone從客戶端接收的值與后端entity中定義的屬性值不匹配(與數(shù)據(jù)庫定義的值的類型不匹配)時,就發(fā)生接收值類型錯誤。 解決辦法: 看是

    2024年02月10日
    瀏覽(142)
  • 【注解使用】使用@Autowired后提示:Field injection is not recommended(Spring團(tuán)隊不推薦使用Field注入)

    【注解使用】使用@Autowired后提示:Field injection is not recommended(Spring團(tuán)隊不推薦使用Field注入)

    在使用 IDEA 開發(fā) SpringBoot 項目時,在? Controller ?類中使用注解? @Autowired ?注入一個依賴出現(xiàn)了警告提示,查看其他使用該注解的地方同樣出現(xiàn)了警告提示。這是怎么回事?由于先去使用了SpringBoot并沒有對Spring進(jìn)行系統(tǒng)性學(xué)習(xí),所以做一個記錄。 Field injection is not recommended(

    2024年02月12日
    瀏覽(19)
  • Elasticsearch中fields的含義和使用場景作用用途干什么的

    一直不明白index中的字段的fields是干什么的,今天徹底搞明白. 在 Elasticsearch 中, fields 是用于定義字段的子字段(sub-field)的部分。它的作用是為同一個字段提供不同的處理和索引選項。 常見的使用場景和解決的問題包括: 排序:使用子字段定義一個字段的(keyword)類

    2024年02月09日
    瀏覽(18)
  • MySQL之Field‘***’doesn’t have a default value錯誤解決辦法

    MySQL之Field‘***’doesn’t have a default value錯誤解決辦法

    目錄 一、找到mysql Server文件夾,打開my.ini配置文件,查找如下語句: 二、修改成如下: PS:如何找到my.ini文件。 第一步右鍵我的電腦(計算機(jī))——點擊管理(G),如下圖所示: 第二步:點擊服務(wù)和應(yīng)用程序----服務(wù)選項 ?第三步:在右邊服務(wù)中找到mysql之后右鍵--屬性 第

    2024年01月24日
    瀏覽(20)
  • 【MySQL實踐】一個隱蔽的問題導(dǎo)致 Field ‘xxx‘ doesn‘t have a default value

    【MySQL實踐】一個隱蔽的問題導(dǎo)致 Field ‘xxx‘ doesn‘t have a default value

    最后在公司的后臺系統(tǒng)上遇到了一個線上問題,是在插入某個表數(shù)據(jù)的時候出現(xiàn)了數(shù)據(jù)庫的插入異常,即: java.sql.SQLException: Field \\\'xxx\\\' doesn\\\'t have a default value ,這其實是一個比較常見的異常,一般在 字段不能為null時 ,如果沒有 顯式的指定對應(yīng)字段的值 就會拋出這個異常。

    2024年01月24日
    瀏覽(15)
  • Spring Boot微服務(wù)從yml文件中加載配置(使用@Value和@ConfigurationProperties)

    記錄 :398 場景 :在Spring Boot的微服務(wù)中從application.yml等yml文件中加載自定義配置內(nèi)容。使用@Value直接加載單個配置。使用@ConfigurationProperties注解把一個或者多個配置加載為Java對象。 版本 :JDK 1.8,SpringBoot 2.6.3 1.使用@Value注解加載配置 使用注解@RestController、@Service、@Component等

    2024年02月12日
    瀏覽(21)
  • Unable to make field private final byte[] java.lang.String.value accessible: module java.base does n

    Unable to make field private final byte[] java.lang.String.value accessible: module java.base does n

    問題: Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @4f3bc4f 原因: JDK版本過高導(dǎo)致的。修改為正常的1.8即可 解決

    2024年02月12日
    瀏覽(85)
  • Elasticsearch:Combined fields 查詢

    有時一個匹配項可以覆蓋多個文本字段。 在這種情況下,你可以使用 combined_fields 查詢來搜索多個文本字段,就好像它們的值實際上已被索引到一個組合字段中一樣。 除此之外,combined_fields 的主要好處是強(qiáng)大且易于理解的評分算法。這種做法也有類似于 copy_to???????

    2023年04月19日
    瀏覽(21)
  • Elasticsearch 字段別名 field-alias

    Elasticsearch 8.1 Kibana 8.1 MacOS 10.14.6 首先我們還是先了解一下, 什么是字段別名? 大家可能聽說過 索引別名 ,通過索引的別名可以輕松的切換所需的數(shù)據(jù)來源與哪一個索引,那么什么是字段別名呢?所謂字段別名,就是索引mapping定義時的備用字段,通過字段別名可以替換搜索

    2023年04月18日
    瀏覽(26)
  • Elasticsearch:二進(jìn)制數(shù)據(jù)類型 - binary field

    Elasticsearch:二進(jìn)制數(shù)據(jù)類型 - binary field

    ?二進(jìn)制(binary)類型接受二進(jìn)制值作為 Base64 編碼字符串。 該字段默認(rèn)不存儲且不可搜索。Base64 編碼的二進(jìn)制值不得嵌入換行符 n 。 這聽起來像是,將二進(jìn)制對象存儲在 Elasticsearch 中的單個字段中 二進(jìn)制字段接受以下參數(shù): 條目 描述 doc_values 該字段是否應(yīng)該以列跨度的

    2024年02月09日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包