当前位置: 首页 > 面试题库 >

Elasticsearch升级2.3.1 Nest Client Raw String

严修德
2023-03-14
问题内容

升级到Elastic 2.3.1时,我遇到了.Net Nest Client的困扰。

在Nest 1.0中,我可以从文件中读取索引的设置,并使用原始字符串在创建时配置索引。有什么办法可以解决Nest
2.0中的类似问题,还是我必须对包括分析部分在内的每个设置都使用流畅的API?映射同样的问题。

Nest 1.0

private bool CreateIndex(string index, FileInfo settingsFile)
{
    var settings = File.ReadAllText(settingsFile.FullName);

    IElasticsearchConnector _elastic
    var response = _elastic.Client.Raw.IndicesCreate(index, settings);

    if (!response.IsValid)
    {
        //Logging error
        return false
    }
    return true;
}

问题答案:

ElasticClient.Raw已重命名为ElasticClient.LowLevel

这是您可以在NEST 2.x中编写请求的方式。

_elastic.Client.LowLevel.IndicesCreate<object>(indexName, File.ReadAllText("index.json"));

index.json文件内容:

{
    "settings" : {
        "index" : {
            "number_of_shards" : 1,
            "number_of_replicas" : 1
        },
        "analysis" : {
            "analyzer" : {
                "analyzer-name" : {
                    "type" : "custom",
                    "tokenizer" : "keyword",
                    "filter" : "lowercase"
                }
            }
        },
        "mappings" : {
            "employeeinfo" : {
                "properties" : {
                    "age" : {
                        "type" : "long"
                    },
                    "experienceInYears" : {
                        "type" : "long"
                    },
                    "name" : {
                        "type" : "string",
                        "analyzer" : "analyzer-name"
                    }
                }
            }
        }
    }
}

希望能帮助到你。



 类似资料:
  • 你好,我想在Elasticsearch中升级log4j,当前版本显示在下面使用定位命令,所以我必须替换哪些文件,也必须在替换文件后执行某些操作 root@la-prod7-client1:/#找到log4j /etc/elasticsearch/log4j2。性质 /usr/share/elasticsearch/lib/log4j-api-2.11.1.jar /usr/share/elasti

  • 我们目前正在使用搜索踢宝石,它的工作原理很棒。最近我尝试在本地开发环境中将elasticsearch升级到7。我得到了它,并使用家庭酿造运行(研究后,我需要运行)。当我去重新索引我的模型之一时,我得到了以下映射错误: 使用elasticsearch 6.8.4时不会出现此错误。有人能给我指一个解决这个问题的资源吗?

  • 主要内容:从LOCAL存储引擎迁移到PLOCAL升级时,必须考虑版本号和格式。 有三种格式 - ,,。 版本需要不兼容的API更改。 版本需要向后兼容的功能。 版本需要向后兼容的错误修复。 要在小版本和主版本之间同步,可能需要导出和导入数据库。 有时需要将数据库从迁移到,并且需要将图形迁移到RidBag。 从LOCAL存储引擎迁移到PLOCAL 从版本开始OrientDB附带一个全新的存储引擎:PLOCAL(分页本地)。 它像LOCAL一样持久

  • 讨论 Chromium 和 Node.js 都依赖于 V8 , Electron 只包含 了 V8 的一个副本,所以务必确保选择的 V8 版本与构建版本的 Node.js 和 Chromium 相兼容。 升级 Node 比升级 Chromium 容易得多,因此如果首先升级Chromium,然后升级 Node 版本至最接近 Chromiun 所包含的 V8 版本,出现的冲突可能会小一些。 Elect

  • 本文概述了在Electron中升级Chromium所需的步骤。 将libcc升级到新的Chromium版本 使Electron兼容新的libcc 如有必要,请更新Electron的相关依赖(如崩溃报告,NodeJS等) 创建libcc和Electron的内部编译本 如有需要,请更新Electron文档 Upgrading Chromium This is an overview of the st

  • 花点功夫去改善HTTP协议显然是极好的事情。我们可以着手于以下几个方面: 降低协议对延迟的敏感 修复pipelining和head of line blocking的问题 防止主机需求更高的连接数量 保留所有现有的接口,内容,URI格式和结构 由IETF的HTTPbis工作组来制定 4.1. IETF和HTTPbis工作组 The Internet Engineering Task Force (