繁体   English   中英

ElasticSearch /带有滑轨的轮胎:无元素解析器

[英]ElasticSearch / Tire with rails: no parser for element

我正在将Elasticsearch与轮胎gem一起用于Ruby on Rails。

到目前为止,到目前为止,我在日期方面具有成功的范围构面,但是现在我正尝试对float字段执行相同的操作,这给了我“元素无解析器”错误。

mapping
  indexes :budget, type: 'float'
  indexes :post_date, type: 'date'
end

(隐藏其他字段)

在我的搜索中:

tire.search(load: true, page: params[:page], per_page: 8) do
  query do
    boolean do
      must { string params[:query], default_operator: "AND" } if params[:query].present?
    end
    facet('timeline') { range :post_date, { :ranges => [ { to: Date.today+1, from: Date.today-7 }, { to: Date.today+1, from: Date.today-14 }, { to: Date.today+1, from: Date.today-30 } ] } } 
    facet('budget') { range :budget, {:ranges => [{ to: 500 }, { from: 500, to: 1000 },{ from: 1000, to: 1500 },{ from: 1500 }]}}
  end
end

时间轴一个很好,我已经重新索引了(力=真)

我收到此错误:(类似的错误重复了几次)

500 : {"error":"SearchPhaseExecutionException[Failed to execute phase [query], total failure; shardFailures {[8B30I3dRQ6elhGcF6El0lw][projects][1]: SearchParseException[[projects][1]: query[(status:posted status:awarded status:closed)~1],from[-1],size[-1],sort[<custom:\"display_type\": org.elasticsearch.index.field.data.strings.StringFieldDataType$1@618faee9>!,<custom:\"post_date\": org.elasticsearch.index.field.data.longs.LongFieldDataType$1@6e9691da>]: Parse Failure [Failed to parse source [{\"query\":{\"bool\":{\"must\":[{\"terms\":{\"status\":[\"posted\",\"awarded\",\"closed\"]}}]}},\"sort\":[{\"display_type\":\"desc\"},\"post_date\"],\"facets\":{\"status\":{\"terms\":{\"field\":\"status\",\"size\":10,\"all_terms\":false}},\"industry_finance\":{\"terms\":{\"field\":\"finance\",\"size\":10,\"all_terms\":false}},\"industry_law\":{\"terms\":{\"field\":\"law\",\"size\":10,\"all_terms\":false}},\"industry_consulting\":{\"terms\":{\"field\":\"consulting\",\"size\":10,\"all_terms\":false}},\"expertise\":{\"terms\":{\"field\":\"expertise\",\"size\":25,\"all_terms\":false}},\"skills\":{\"terms\":{\"field\":\"skills\",\"size\":25,\"all_terms\":false}},\"country\":{\"terms\":{\"field\":\"geo\",\"size\":10,\"all_terms\":false}},\"language\":{\"terms\":{\"field\":\"language\",\"size\":10,\"all_terms\":false}},\"location\":{\"terms\":{\"field\":\"location\",\"size\":10,\"all_terms\":false}},\"timeline\":{\"range\":{\"field\":\"post_date\",\"ranges\":{\"ranges\":[{\"to\":\"2012-12-09\",\"from\":\"2012-12-01\"},{\"to\":\"2012-12-09\",\"from\":\"2012-11-24\"},{\"to\":\"2012-12-09\",\"from\":\"2012-11-08\"}]}}},\"budget\":{\"range\":{\"field\":\"budget\",\"ranges\":{\"ranges\":[{\"to\":500},{\"from\":500,\"to\":1000},{\"from\":1000,\"to\":1500},{\"from\":1500}]}}}},\"size\":8}]]]; nested: SearchParseException[[projects][1]: query[(status:posted status:awarded status:closed)~1],from[-1],size[-1],sort[<custom:\"display_type\": org.elasticsearch.index.field.data.strings.StringFieldDataType$1@618faee9>!,<custom:\"post_date\": org.elasticsearch.index.field.data.longs.LongFieldDataType$1@6e9691da>]: Parse Failure [No parser for element [budget]]]

相关的位似乎是:解析失败[元素[预算]没有解析器]
不知道是什么原因造成的,任何输入不胜感激! 谢谢

我认为您应该为要使用的索引重新编制索引。 例如,对于Article类:

耙RAILS_ENV =生产轮胎:import CLASS =条款FORCE = true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM