Elasticsearch需要映射* all *关联吗?

我有一个大型模型(它基本上是我的整个应用程序)。 我在这个模型上有7个或更多的关联,包括多对多,:through =>等。这个模型也有一些简单的属性(标题,url等)。

我唯一关心索引的是那些3或4个简单属性(标题,url,描述,类别)。 其余我不在乎。

当我使用load: true时,一切都很完美load: true ,但是一旦我把它关掉,一切都会中断。 解决这个问题的唯一方法就是进入并添加复杂的映射,触摸,触摸回调等等每一个关联?

我希望我理解这个错误,因为这将只是搜索3或4个简单属性的大量代码。

我不知道我在说什么,但我可以搜索一下弹性搜索索引,但是返回一个ID列表,然后以正常的轨道方式循环遍历那些?

谢谢!

我不确切地知道轮胎内部是如何工作的,但据我在文档中理解,当load选项为true时,它会从数据库加载每个记录。 这就是为什么我认为你不想在生产中使用它。 如果没有该选项,Tire将从elasticsearch中检索信息,因为您应该将要显示的大部分数据存储在elasticsearch中。 您可能需要向elasticsearch添加更多存储的信息。 您可以配置要在映射中存储的字段,否则您始终在elasticsearch中具有源字段,这正是您编制索引的JSON文档。

你上一个问题的答案是肯定的。 您可以从elasticsearch中选择要返回的字段 ,而不是返回整个源 。 在您的情况下,如果我理解正确,您将配置唯一的id字段。 我不知道如何使用Tire,但就弹性搜索请求而言,你可以在url中这样做:

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

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

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