2
的新功能。它表现得很干净。 当我第一次打电话给我的API时,它有时会用空数组响应,但再次调用相同的API,返回正确的响应。Elasticsearch-rails:响应有时是空的,第二个请求返回正确的响应
API输出 - 这是第一次
我的模型:
class Consultation < ApplicationRecord
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
after_save :set_index
Consultation.import force: true
def set_index
self.__elasticsearch__.index_document
end
end
我的控制器:
def search
required_params_present = check_required_params(%i[search])
if required_params_present
searched_result = Elasticsearch::Model.search("*#{params[:search]}*", [Consultation]).records.records
data = ActiveModel::ArraySerializer.new(searched_result, each_serializer: ConsultationSerializer)
send_response(HTTP_STATUS_CODE_200, true, I18n.t('search'), data)
else
send_response(HTTP_STATUS_CODE_801, false, I18n.t('params_missing.error'))
end
rescue => e
send_response(HTTP_STATUS_CODE_500, false, e.message)
end
响应仅为第一次为空。 Elasticsearch第一次需要时间来回应吗?
任何帮助或想法将非常感激?
但我在after_save的设定指标。这些记录是在几天前创建的。所以索引已经为他们设置了。每次关闭服务器并重新启动时,都会发生这种情况 – Disha
我试过你的代码。没有运气 !还存在同样的问题:( – Disha
嗯,我不太确定问题是什么。 –