我正在尝试将文档批量插入到索引中。我需要_id等于我正在插入的特定字段。我正在使用ES v6.6
POST productv9/_bulk
{ "index" : { "_index" : "productv9", "_id": "in_stock"}}
{ "description" : "test", "in_stock" : "2001"}
GET productv9/_search
{
"query": {
"match": {
"_id": "2001"
}
}
}
当我运行批量语句时,它运行时没有任何错误。但是,当我运行搜索语句时,它没有得到任何点击。此外,我还想以同样的方式插入许多其他文档。
我建议创建一个摄取管道,该管道将根据库存字段的值设置文档的id。
首先创建管道:
PUT _ingest/pipeline/set_id
{
"description" : "Sets the id of the document based on a field value",
"processors" : [
{
"set" : {
"field": "_id",
"value": "{{in_stock}}"
}
}
]
}
然后您可以在批量调用中引用管道:
POST productv9/doc/_bulk?pipeline=set_id
{ "index" : {}}
{ "description" : "test", "in_stock" : "2001"}
通过调用GET productv9/_doc/2001
,您将获得您的文档。
如何告诉Elasticsearch在按术语搜索时排除某个字段? 当一个普通用户搜索摩托车时,什么都不应该返回,但如果他们搜索史密斯,这两个都应该返回。 有能力搜索认证字段的用户如果搜索摩托车将返回标记,如果搜索史密斯将返回标记。
我正在使用ElasticSearch 7.3来查询一些文档, 我想在查询响应中只返回每个文档的特定字段, 我发现可以使用来实现这一点, 我可以从Kibana使用这个查询来实现这一点- 返回给我正确的数据- 但我无法使用ElasticSearch的节点客户端实现同样的功能- 有人能帮我找到正确的方法来实现我的用例吗? 引用- https://www.elastic.co/guide/en/elast
我正在CentOS Linux 7.3.1611版服务器上使用Jenkins 2.73-1.1版。 服务器上有3个不同版本的JDK: 如下图所示,Jenkins使用的是JDK1.8.0131版本,在我的项目中我指定使用JDK7。 Jenkins设置图像2 当我尝试编译项目()时,生成失败,并且在日志中看到以下错误: [沃达丰]$/usr/java/jdk1.7.0_80/bin/java-cp/v
以前我们有这样的域对象: 从而在ES中生成了如下文档: 请注意: null null [1]-https://spring.io/blog/2020/05/27/what-s-new-in-spring-data-elasticsearch-4-0
我想问一下关于Elasticsearch批量API的问题 这是我使用批量API的代码 我遇到了超时异常,因为我的记录有800K。java.net.SocketTimeoutException:连接超时30,000毫秒http-outgoing-16[活动] 我试图分解传入的jsonList,但有时会出现相同的错误。 我目前使用的是Elasticsearch 7.6.2版本。 异常跟踪 Java.n
问题内容: 如何查询或过滤一个字段不等于另一个字段?即,其中document1.city1.name不等于document1.city2.name。 这个的一些版本? http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/search-request-script- fields.html 问题答案: 是