第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我是否必須指定映射才能在 Kuzzle 中使用 document.search 控制器?

我是否必須指定映射才能在 Kuzzle 中使用 document.search 控制器?

qq_笑_17 2022-08-04 16:06:22
我正在使用Kuzzle來(lái)構(gòu)建一個(gè)簡(jiǎn)單的類(lèi)似slack的應(yīng)用程序。我有一個(gè)簡(jiǎn)單的集合,其中包含僅包含其他文檔ID的文檔。我想從這個(gè)集合中查詢(xún)一個(gè)id列表,并且無(wú)論我在查詢(xún)中嘗試了什么id值,都會(huì)在響應(yīng)中遇到空的hits數(shù)組。它讓我閱讀了有關(guān)Elasticsearch查詢(xún)語(yǔ)法,映射的信息,并且我發(fā)現(xiàn)我需要指定映射。在未指定映射的情況下創(chuàng)建集合時(shí),document.search:如果給定“query”正文屬性,則返回一個(gè)空的命中數(shù)組,如下所示:{"query": {"terms": {"id": <ids array>}}}如果給定“排序”,則拋出以下內(nèi)容:// {"sort": [{"id": {"order": "desc"}}]}Error: No mapping found for [id] in order to sort on并返回一個(gè)空的“聚合”清單,如下所示:"aggregations": {    "groupById": {        "terms": {            "field": "id"        }    }}我不明白這背后發(fā)生了什么。只有一個(gè)案例被視為錯(cuò)誤是否正常?我正在處理查詢(xún)部分,并且很明顯錯(cuò)誤不是來(lái)自我的ids數(shù)組的內(nèi)容!在“id”上添加一個(gè)帶有“關(guān)鍵字”類(lèi)型的簡(jiǎn)單映射可以使所有情況按預(yù)期工作,但我在Elasticsearch中閱讀了動(dòng)態(tài)映射。有沒(méi)有辦法使用它們?或者是否有其他解決方案來(lái)查詢(xún)文檔中的(唯一)參數(shù)?我正在使用 kuzzle-sdk v7.1.4
查看完整描述

1 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

Elasticsearch 映射是一種告訴底層引擎如何索引文檔字段的方法。

例如,文本字段的索引方式與關(guān)鍵字字段的索引方式不同,您將無(wú)法進(jìn)行相同類(lèi)型的查詢(xún)。

keyword字段按“原樣”索引,因此您可以對(duì)確切的術(shù)語(yǔ)進(jìn)行非??焖俚乃阉鳎ㄊ褂?a >術(shù)語(yǔ)查詢(xún)),但是使用各種方法分析字段,以便能夠進(jìn)行模糊匹配查詢(xún)。text

如果沒(méi)有為字段聲明映射,Elasticsearch 將無(wú)法在任何查詢(xún)中訪問(wèn)它。

您可以閱讀我們的 Elasticsearch 說(shuō)明書(shū)了解更多信息。

關(guān)于映射動(dòng)態(tài)策略,默認(rèn)情況下,此策略設(shè)置為 ,這意味著 ES 不會(huì)推斷新引入的字段類(lèi)型。false

我們選擇使用此默認(rèn)值是因?yàn)槟鸁o(wú)法修改字段的類(lèi)型,因此最好自己定義它,而不是由ES推斷出不太準(zhǔn)確的類(lèi)型。

您可以為整個(gè)映射更改此策略,也可以?xún)H針對(duì)嵌套對(duì)象更改此策略(這被視為最佳實(shí)踐)

{

  "dynamic": "false",

  "properties": {

    "id": { "type": "keyword" },

     "metadata": {

       "dynamic": "true",

       "properties": {

         // field types will be automatically inferred in the "metadata" object

       }

     }

  }

}

然后,如果您創(chuàng)建以下文檔:


{

  "id": "your-unique-uuid",

  "name": "aschen",

  "metadata": {

    "avatar": "http://url.com"

  }

}

  • id字段已聲明為 ,您可以對(duì)此字段進(jìn)行查詢(xún)。keyword

  • name字段未聲明,動(dòng)態(tài)策略已聲明,因此您無(wú)法對(duì)此字段進(jìn)行查詢(xún)。false

  • metadata.avatar字段未聲明,但此嵌套對(duì)象的動(dòng)態(tài)策略是,因此 ES 將為此字段添加類(lèi)型,您可以對(duì)此字段進(jìn)行查詢(xún)。truetext

最后一件事,您在文檔中使用了一個(gè)字段,但Elasticsearch已經(jīng)為每個(gè)文檔生成了唯一的標(biāo)識(shí)符(),因此您可能希望改用該標(biāo)識(shí)符。id_id

我是 Kuzzle 核心的開(kāi)發(fā)人員


查看完整回答
反對(duì) 回復(fù) 2022-08-04
  • 1 回答
  • 0 關(guān)注
  • 104 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)