出于测试和开发原因,我们通过删除索引并使用映射重新创建并导入现有文档来从rails应用程序重新索引数据。
但是在重新创建索引之后,elasticsearch会在重新创建之前返回除预期之外的其他结果。如果我们重新启动elasticsearch实例,结果会如预期的那样。 这就是我们重建索引的方式。
Tire.index indexname do
delete
create _mappings
import _objects
refresh
end
我们还通过弹性搜索的curl直接检查了搜索查询,但是我们得不到预期的结果。重新启动弹性搜索守护程序后,同一查询将返回预期数据。
在重新创建具有相同名称的索引而不重新启动后,弹性搜索实例需要做什么或期望返回正确的数据?我们还尝试使用时间戳名称创建新索引,并将索引名称别名化为这些索引,但结果相同。
提前致谢