ElasticSearch:ID 以 period/dot 结尾
ElasticSearch: Ids ending in period/dot
这几天我们遇到了一个很有趣的情况。我们之前有 ElasticSearch 6.2 并将其升级到 7.1。好像旧版本保存的一些数据与新版本不兼容了,我正在寻找解决方案。
这是使用旧版本保存的记录示例:
"_index" : "products-0_v7",
"_type" : "_doc",
"_id" : "18442_Product one.",
"_score" : 11.565834,
"_source" : {
"description" : "",
"priceExVat" : 15.65
}```
问题是 Nest 库无法再检索此值:
_client.Get<Product>(productId, x => x.Index(index))
调试调用时,句号被去除。同样的事情发生在索引操作期间:
var indexRequest = new IndexRequest<InvoicableProduct>(product, aliasErpimport, new Id(product.Id));
var ret = _client.Index(indexRequest);
知道如何解决这个问题吗?有没有可能根本不剥夺这段时间?如果您为诸如“产品一”之类的值编制索引(带有额外的 space),它会起作用,但这会创建一个副本,因为原始记录没有尾随 space.
经过几天的调查,我找到了解决方案。从头开始创建一个新项目并 运行 使用相同的代码后,我必须弄清楚是什么破坏了当前代码。
Web.config 有一行代码与此类似:
<httpRuntime maxRequestLength="2147483647" maxQueryStringLength="32768" maxUrlLength="65536" />
事实证明,问题是 httpRuntime 缺少 targetFramework 属性。
已修复:
<httpRuntime targetFramework="4.8" maxRequestLength="2147483647" maxQueryStringLength="32768" maxUrlLength="65536" />
这几天我们遇到了一个很有趣的情况。我们之前有 ElasticSearch 6.2 并将其升级到 7.1。好像旧版本保存的一些数据与新版本不兼容了,我正在寻找解决方案。
这是使用旧版本保存的记录示例:
"_index" : "products-0_v7",
"_type" : "_doc",
"_id" : "18442_Product one.",
"_score" : 11.565834,
"_source" : {
"description" : "",
"priceExVat" : 15.65
}```
问题是 Nest 库无法再检索此值:
_client.Get<Product>(productId, x => x.Index(index))
调试调用时,句号被去除。同样的事情发生在索引操作期间:
var indexRequest = new IndexRequest<InvoicableProduct>(product, aliasErpimport, new Id(product.Id));
var ret = _client.Index(indexRequest);
知道如何解决这个问题吗?有没有可能根本不剥夺这段时间?如果您为诸如“产品一”之类的值编制索引(带有额外的 space),它会起作用,但这会创建一个副本,因为原始记录没有尾随 space.
经过几天的调查,我找到了解决方案。从头开始创建一个新项目并 运行 使用相同的代码后,我必须弄清楚是什么破坏了当前代码。
Web.config 有一行代码与此类似:
<httpRuntime maxRequestLength="2147483647" maxQueryStringLength="32768" maxUrlLength="65536" />
事实证明,问题是 httpRuntime 缺少 targetFramework 属性。
已修复:
<httpRuntime targetFramework="4.8" maxRequestLength="2147483647" maxQueryStringLength="32768" maxUrlLength="65536" />