我在elasticsearch文檔中看到,您可以通過其ID獲取文檔。在elasticsearch rails中是否有任何等價物?我使用「as_indexed_json」提供API,這是一個比較昂貴的查詢,我想直接從API中的elasticsearch返回JSON。如何在elasticsearch rails中通過ID獲取文檔
3
A
回答
3
在這裏你可以做到這一點。 這是來自控制器的行動,對我來說效果很好。
def show
client = Elasticsearch::Client.new host:'127.0.0.1:9200', log: true
response = client.search index: 'example', body: {query: { match: {_id: params[:id]} } }
@example = response['hits']['hits'][0]['_source']
respond_to do |format|
format.html # show.html.erb
format.js # show.js.erb
format.json { render json: @example }
end
@records = Example.search(@example['name']).per(12).results
end
4
您可以通過ID與Elasticsearch::Transport::Client
的get
方法獲取從給定索引的特定文檔。 get
方法需要一個散列參數,其中包含要從中提取的索引的鍵和要提取的文檔的ID。
因此,所有一起,你需要三樣東西:
- 客戶對象
- 指數
- 文檔的ID(即模型ID)
client = YourModel.__elasticsearch__.client
document = client.get({ index: YourModel.index_name, id: id_to_find })
的名稱
相關問題
- 1. 如何在java中獲取Elasticsearch中的文檔的父ID?
- 2. 通過多個ID獲取文檔
- 3. couchdb如何通過地圖功能中的id獲取文檔
- 4. 如何獲取文檔的詞語出現在elasticsearch rails
- 5. 如何在CustomScoreProvider中獲取文檔ID?
- 6. 如何通過lucene中的文檔ID獲取文檔的存儲字段?
- 7. Umbraco 7 + Razor:如何通過ID獲取文檔/節點?
- 8. 如何通過uuid獲取文檔
- 9. 如何通過ipworks獲取文檔
- 10. CouchDB Map函數 - 如何通過文檔ID獲取其他文檔的數據
- 11. 獲取文檔ID
- 12. Rails 3通過ID獲取用戶名
- 13. Elasticsearch獲取僅文件ID
- 14. 如何在elasticsearch中的文檔中獲取總令牌數
- 15. 如何通過ID刪除BongoDB文檔?
- 16. 如何通過解析文檔ID
- 17. 如何在grafana中獲取elasticsearch的最新文檔?
- 18. 如何在Rails中創建通過ID
- 19. 如何通過文件ID獲取父文件夾ID?
- 20. Rails和DataTable如何通過JSON文檔
- 21. Solr/ElasticSearch - 通過ID查找文檔 - > query或filterQuery?
- 22. 如何在rails中獲取帖子ID?
- 23. elasticsearch按文檔ID排序
- 24. 如何從elasticsearch中獲取pyes中的隨機文檔
- 25. 如何在Rails中從elasticsearch刪除不存在的文檔?
- 26. 如何通過文檔ID下載文檔
- 27. 如何通過視圖ID獲取FragmentManager?
- 28. 如何通過id獲取節點?
- 29. 如何通過會話獲取ID
- 30. 如何通過id獲取Xlib.display.Window實例?