- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Elastic 正在更新他们的文档以使用带有 Java 的 RestHighLevelClient。它还具有映射 API:
现在如何使用该 API 发出这样的请求?
PUT /test
{
"settings": {
"analysis": {
"filter": {
"email": {
"type": "pattern_capture",
"preserve_original": 1,
"patterns": [
"([^@]+)",
"(\\p{L}+)",
"(\\d+)",
"@(.+)",
"([^-@]+)"
]
}
},
"analyzer": {
"email": {
"tokenizer": "uax_url_email",
"filter": [
"email",
"lowercase",
"unique"
]
}
}
}
},
"mappings": {
"emails": {
"properties": {
"email": {
"type": "string",
"analyzer": "email"
}
}
}
}
}
您是否应该将其拆分为两个请求并将此 API 用于第二个请求? https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-indices-put-settings.html
或者 RestHighLevelClient 是否旨在用于高性能操作,但对于初始配置,您可以自由使用 RestTemplate (Spring) 或任何其他普通的 Java Rest 客户端?
最佳答案
如您在文档中所见:
PutMappingRequest request = new PutMappingRequest("twitter");
request.type("tweet");
您可以使用您定义的字符串来设置此请求的负载
request.source(
"{\n" +
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
"}",
XContentType.JSON);
或带有您的属性甚至 XContentBuilder
的 map 。
使用低级客户端,您可以执行任何类型的请求,包括您正在寻找的请求。
关于名称,我认为 HighLevel 指的是提供了创建请求的方法(又名可重用性、便利性),而不是强制自己实现其余请求.您始终可以使用 RestTemplate。请注意,HighLevelRestClient 在内部使用 apache HttpClient。
但为了代码的可维护性,我会选择一种方式。 (低-高级别或任何 http 客户端)。
来自文档(注意 RestHighLevelClient 是建立在低级别的基础上的。)
The low-level Java REST client internally uses the ApacheHttp Async Client to send http requests. It depends on the followingartifacts, namely the async http client and its own transitivedependencies:
- org.apache.httpcomponents:httpasyncclient
- org.apache.httpcomponents:httpcore-nio
- org.apache.httpcomponents:httpclient
- org.apache.httpcomponents:httpcore
- commons-codec:commons-codec
- commons-logging:commons-logging
关于java - Elasticsearch 6.4 : Mapping with RestHighLevelClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52001039/
我正在尝试从需要访问外部请求代理的网络中访问Cloud Elasticsearch安装。这是我用来传递Elasticsearch凭证和我们的代理设置的代码片段: CredentialsProvider
如果elasticsearch在单一模式下运行,我可以使用以下代码轻松建立RestHighLevel连接: RestHighLevelClient client = new RestHighLevel
我想用RestHighLevelClient在不同集群上使用 Cross Cluster mechanizem 不支持的命令(例如关闭和打开索引)。 我的问题是我是否使用了多个 RestHighLev
我需要模拟 RestHighLevelClient 来测试我的代码。基本上,当我调用 RestHighLevelClient 的“搜索”方法时,我得到 UnfinishedStubbingExcept
我正在对包含空格的字段执行搜索,我希望不对其进行分析,即不将其拆分为克并被视为单个实体。我如何在 Java 中执行此操作? 我正在使用 RESTHighLevelClient 版本 7.4。 最佳答案
我正在尝试通过此依赖项使用 RestHighLevelClient org.elasticsearch.client elasticsearch-rest-h
我正在尝试在 Scala 程序中插入 ElasticSearch(ES)。 在 build.sbt 我添加了 libraryDependencies += "org.elasticsearch.cli
我正在使用vpc端点进行 flex 搜索,以使用RestHighLevelClient索引我的文档。 我正在使用Java高级休息客户端v6.2.2连接Elasticsearch 6.0版 我无需任何身
我想知道这里是否有人使用 RestHighLevelClient 连接到 AWS ElasticSearch。不确定 AWS ElasticSearch 是否支持此功能。目前,每次尝试连接时,我都会收
我正在使用 Elasticsearch RestHighLevelClient 并尝试实现下面的 sql: select format(date,'yyyy-MM-dd'), count(*) fro
我使用 MultiSearchRequest 按字段的一部分在 Elasticsearch 中进行搜索: @Override public Collection> findContractsByInd
我在 Elasticsearch 中为 RestHighLevelClient 使用以下代码。 val credentialsProvider = new BasicCredentialsProvid
当索引 100k 文档时,以下行出现 listener 超时异常 IndexResponse response = SearchEngineClient.getInstance2().index(re
我试过下面的代码它工作正常,但它使用 运输客户端 删除所有文档。 DeleteByQueryRequestBuilder deleteByQueryRequestBuilder = DeleteByQ
我们的应用程序在 elasticsearch 服务器中索引(存储)文档时遇到超时异常。它不会经常发生,但大约每天一次。这是详细信息。 pom.xml org.elasticsearch.cl
Elastic 正在更新他们的文档以使用带有 Java 的 RestHighLevelClient。它还具有映射 API: https://www.elastic.co/guide/en/elasti
我在 SpringBoot 应用程序中创建 HighEndRestClient bean 时遇到错误。我已经完成了一个测试“应用程序”,我检查了我可以实例化我想要的对象,然后进行我想要的调用,现在我正
如何在下面使用bool创建RestHighLevelClient查询? 我的尝试未返回任何内容: BoolQueryBuilder query = boolQuery()
在我的 Elasticsearch 索引中,我保存了大约 30000 个实体。我想使用 RestHighLevelClient 获取它们的所有 id。我读过最好的方法是使用滚动 api。但是,当我这样
在我的 Scala 项目中,我试图用新的 RestHighLevelClient 更改旧的 transportClient 以连接到 Elasticsearch (6.1)。 但我在尝试创建 Bulk
我是一名优秀的程序员,十分优秀!