簡體   English   中英

Elasticsearch需要映射* all *關聯嗎?

[英]Elasticsearch requires*all* associations to be mapped?

我有一個大型模型(它基本上是我的整個應用程序)。 我在這個模型上有7個或更多的關聯,包括很多到很多,:through =>等。這個模型也有一些簡單的屬性(標題,網址等)。

我唯一關心索引的是那些3或4個簡單屬性(標題,網址,描述,類別)。 其余我不在乎。

當我使用load: true時,一切都很完美load: true ,但是一旦我把它關掉,一切都會中斷。 解決這個問題的唯一方法就是進入並添加復雜的映射,觸摸,觸摸回調等等每個關聯?

我希望我理解這個錯誤,因為只有搜索3或4個簡單屬性才能獲得大量代碼。

我不知道我在說什么,但是我可以搜索一下彈性搜索索引,但是返回一個ID列表,然后以正常的軌道方式循環遍歷那些?

謝謝!

我不確切地知道輪胎內部是如何工作的,但據我在文檔中理解,當load選項為true時,它會從數據庫中加載每個記錄。 這就是為什么我認為你不想在生產中使用它。 如果沒有該選項,Tire將從elasticsearch中檢索信息,因為您應該將大部分要顯示的數據存儲在elasticsearch中。 您可能需要向elasticsearch添加更多存儲的信息。 您可以配置要在映射中存儲的字段,否則在彈性搜索中始終具有字段,這正是您編制索引的JSON文檔。

你上一個問題的答案是肯定的。 您可以從elasticsearch中選擇要返回的字段 ,而不是返回整個 在您的情況下,如果我理解正確,您將配置唯一的id字段。 我不知道如何使用Tire,但就彈性搜索請求而言,你可以在網址中這樣做:

curl localhost:9200/_search?fields=id -d '{
  "query" : {
    "match_all" : {}
  }
}'

或直接在您的查詢中,如下所示:

{
    "fields" : ["id"],
    "query" : {
        "match_all" : {}
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM