0

我们最近从 ES 0.23 升级到 0.90,现在我的查询,例如:

{
  "sort": {
    "companyname.sort": {
      "order": "asc"
    }
  }
}

导致异常:

{
error: SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[Y8U7j2f-QvS75-6SfxlGuA][boss][0]:

QueryPhaseExecutionException[[boss][0]:
query[ConstantScore(cache(_type:SalesCompany))],from[0],size[10],sort[<custom:"companyname.sort":
org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource@292f8639>]: 
Query Failed [Failed to execute main query]]; nested: NullPointerException; }{[Y8U7j2f-QvS75-6SfxlGuA][boss][1]: QueryPhaseExecutionException[[boss][1]:
query[ConstantScore(cache(_type:SalesCompany))],from[0],size[10],sort[<custom:"companyname.sort": 
org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource@292f8639>]: Query Failed [Failed to execute main query]]; nested: NullPointerException; }]
status: 500
}

如果我使用 0.23 创建的索引在我们的暂存环境中运行相同的查询 - 但安装了 ES 0.90 - 它工作正常。映射是:

companyname: {
    type: multi_field
    fields: {
        companyname: {
            type: string
            store: true
            analyzer: simple
        }
        sort: {
            type: string
            index: not_analyzed
            store: true
            omit_norms: true
            index_options: docs
            analyzer: simple
            include_in_all: false
        }
    }
}

我正在使用 .Net C# 应用程序中的最新版本的 NEST 来创建索引并查询它。

我还没有尝试在暂存环境中重新创建索引,因为我不想破坏它,直到我知道如何修复它:)

有人有什么想法吗?

谢谢

4

1 回答 1

0

我最近切换到 ES 0.90.7 和最新的 Nest。现在世界上一切都很好。

于 2013-11-25T01:29:58.010 回答