【发布时间】:2012-09-06 20:49:42
【问题描述】:
我使用弹性搜索实现了轮胎。 在本地,我的项目运行良好,搜索索引也没有问题。 但是当我将我的应用程序部署到我的服务器时,我收到了以下错误消息:
Tire::Search::SearchRequestFailed (500 : {"error":"SearchPhaseExecutionException[未能执行阶段 [query_fetch],完全失败;shardFailures {[hDTlT_K_Sl6P5regwKNJyg][articles] [0]: QueryPhaseExecutionException[[articles][ 0]: query[ConstantScore(NotDeleted(cache(_type:article)))],from[0],size[25],sort[!]: Query Failed [Failed to execute main query]]; 嵌套: IOException[Can '不对每个文档有多个值或每个字段有多个标记的字符串类型进行排序]; }]","status":500}):
我相信我的文章存储在我的索引中,因为创建它们时我没有收到任何错误。我也尝试用这个手动运行相同的查询:
curl -XPOST 'http://localhost:9200/articles/article/_search' -d '{
"sort": [
{
"supplier_code": "desc"
}
]
}'
我得到了几乎相同的回应:
{"error":"SearchPhaseExecutionException[未能执行阶段 [query_fetch],完全失败;shardFailures {[hDTlT_K_Sl6P5regwKNJyg][articles][0]:QueryPhaseExecutionException[[articles][0]:query[ConstantScore(NotDeleted(cache (_type:article)))],from[0],size[10],sort[!]: Query Failed [Failed to execute main query]]; nested: IOException[Can't sort on string types with more than one每个文档的值,或每个字段多个标记]; }]","status":500}
那么任何人都可以指出我正确的方向吗? 我复制了我在本地机器上使用的确切 sam 配置。 太奇怪了,它在服务器上不起作用。
我在这里错过了什么?
提前非常感谢
编辑:
我发现我尝试执行的排序导致了问题。 这也与我的文章对象到弹性搜索的映射有关。
与我试图排序的字段有关的东西放在 not_analyzed 我是对的吗? 如果我只映射一个字段,是否需要显式映射所有字段?
【问题讨论】:
标签: ruby-on-rails exception elasticsearch tire