Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 类型始终为带有Searchkick 4.3.1和ES 7.4的_doc_Ruby On Rails_Ruby_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Ruby On Rails,Ruby,elasticsearch" /> elasticsearch,Ruby On Rails,Ruby,elasticsearch" />

Ruby on rails 类型始终为带有Searchkick 4.3.1和ES 7.4的_doc

Ruby on rails 类型始终为带有Searchkick 4.3.1和ES 7.4的_doc,ruby-on-rails,ruby,elasticsearch,Ruby On Rails,Ruby,elasticsearch,我们将Searchkick 4.3.1与ElasticSearch 7.4.x一起使用,并注意到所有模型现在都使用type\u doc索引。即使Searchkick似乎仍在为索引正确生成一个:\u type 鉴于: 课程公告

我们将Searchkick 4.3.1与ElasticSearch 7.4.x一起使用,并注意到所有模型现在都使用type
\u doc
索引。即使Searchkick似乎仍在为索引正确生成一个
:\u type

鉴于:

课程公告
我们的产出如下:

Announcement.searchkick_index.options[:_type].call
=> "announcement"
但是,当我们得到搜索结果时,点击率会返回
类型:“\u doc”

当我们在多个模型上执行搜索时,这才是真正的问题所在。具体来说,因为这些多模型搜索将对每个模型具有不同的
,其中
条件,我们将对这些条件进行范围界定,如下所示:
其中({u或:[{type:''u公告',活动:true},{type:''u事件',即将到来:true}])

既然
类型
总是
“\u doc”
,这些结果集总是空的。我还尝试在
中显式使用
\u索引
名称,其中
,但Searchkick返回以下索引的别名:

Announcement.searchkick_index.name
=> "announcements_development" 
这是Searchkick的问题吗?因为它似乎仍然应该在索引上适当地设置
\u type
。Elasticsearch 7.x删除注释下的以下文章()说:

7.x没有显式类型的索引将使用伪类型名_doc

但这是否适用于这里?似乎Searchkick仍然会设置类型


如果有任何帮助,我们将不胜感激。在执行多个模型搜索时,也许有另一种方法可以将
where
条件限定到特定索引?

我也遇到了这个问题,并查看了代码以查找添加的以下内容。我假设
选项[:\u type].call
仍然适用于较旧的elasticsearch版本。根据您链接的同一篇文章的建议,您可以添加一个自定义类型字段吗?我也遇到了这个问题,并查看了代码以找到以下添加项。我假设
选项[:\u type].call
仍然适用于较旧的elasticsearch版本。根据您链接的同一篇文章的建议,您可以添加自定义类型字段吗?
Announcement.searchkick_index.name
=> "announcements_development"