json.count @results.total_count json.results do json.array! @results.with_highlights(multiple: true) do |obj, highlights| json.merge! obj.to_searchable_json json.type obj.class.name.downcase json.title highlights.delete(:name)&.join('...') || obj.searchable_title # json.description highlights.values[0,5].each { |arr| arr.is_a?(Array) ? arr.join('...') : arr }.join('
') # 去除开头标点符号 reg = /^[,。?:;‘’!“”—……、]/ # 附件的替换 atta_reg = /!\[]\(\/api\/attachments\/\d+\)/ highlights[:description]&.first&.sub!(reg, '')&.sub!(atta_reg, '') Rails.logger.info("#########serach_description#{highlights[:description]}------------#{highlights[:description]&.first}") highlights[:content]&.first&.sub!(reg, '')&.sub!(atta_reg, '') json.content highlights end end