问题标签 [elasticsearch-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2764 浏览

node.js - 如何在nodejs中用mongoosastic编写映射

实际上,我现在想从某些字段中删除索引,任何人都可以告诉我如何为我的代码给出下面的代码编写映射;任何人都可以告诉我这有什么问题,或者任何人都可以告诉我什么是正确的做法那。

});

先感谢您。

0 投票
2 回答
3603 浏览

java - 是否可以使用 Spring 的注释为 Elasticsearch 中的映射定义 Completion Suggester?

我目前有以下 POJO。

表示此 POJO 的 JSON 如下。

我想要的是定义该tags字段的映射,以便我可以在自动完成搜索框中使用这些值。这得到了 Elasticsearch 的 Completion Suggester 的支持。https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html上的文档似乎建议我必须按如下方式设置映射。

但是,这意味着我将不得不修改我的 POJO 和 JSON 表示。

Completions Suggesters我发现另一个很好的页面在这里谈论http://blog.qbox.io/quick-and-dirty-autocomplete-with-elasticsearch-completion-suggest。但是,该页面似乎暗示与tags.

最后,我在http://docs.spring.io/spring-data/elasticsearch/docs/current/api/index.html?org/springframework/data/elasticsearch/core/找到了 spring-data-elasticsearch 的这个 javadoc 页面完成/完成.html。我确信这门课有关系,Completion Suggesters但我不知道如何使用它。

有什么方法可以只使用 Spring 注释来定义 Elasticsearch 映射Completion Suggester吗?

0 投票
4 回答
3182 浏览

elasticsearch - Elasticsearch 日期查询。某月出生的人

我有一个具有以下映射的字段:

  1. 我需要找到所有出生在 5 月的人(包括所有年份)
  2. 另一个查询是查找所有出生于“8 月 25 日”的人(包括所有年份)

那会是什么查询?

0 投票
1 回答
244 浏览

curl - 多字段的 Elasticsearch 映射更新

我只想知道有没有办法从elasticsearch中的映射中删除一个字段?

请找到以下详细信息,以便您了解我到底想要做什么。

下面是我用来创建索引的脚本,名称为test_index带有类型名称的映射test_type

执行上述脚本后,我可以根据指定的映射看到创建的索引,并且我还可以添加新字段。

如果想sub_field2field2映射中的属性中删除,有没有办法做到这一点(或者有没有办法覆盖整个field2属性)?

0 投票
0 回答
1769 浏览

elasticsearch - Elasticsearch“严格”映射不适用于具有空值的字段

我有一个索引,我已将其映射设置为"dynamic":"strict".

正如预期的那样,在大多数情况下,如果引入了映射中未列出的字段,Elasticsearch则会拒绝它。
但是我发现任何具有null值的字段都没有被捕获,并将其纳入我的索引。这是我的映射的样子:

编辑(包括示例场景)

使用上面的映射,这是我看到的场景:

1) 发布有效文档(映射后的文档)时,200 OK.

发布文件:

弹性搜索响应:

2) 发布无效文档(不遵循映射的文档)时,400 StrictDynamicMappingException.

发布文件:

弹性搜索响应:

null3) 当发布带有无效字段值的无效文档(不遵循映射的文档)时, 200 OK.

发布文件:

弹性搜索响应:

null4) 当发布带有无效字段值的无效文档(不遵循映射的文档)时, 200 OK.

发布文件:

弹性搜索响应:

我担心的是第 3 和第 4 种情况。

看起来这个问题(或一个非常相似的问题)是在这里Elasticsearch的git 存储库中提出的,并且已经关闭。但是,该问题似乎仍然是版本 1.7 中的问题。

这在本地以及我使用 AWSElasticsearch服务部署的索引上都可以看到。

我是在某个地方犯了错误,还是有人找到了解决这个问题的方法?

0 投票
3 回答
12233 浏览

elasticsearch - elasticsearch中的字段未按字母顺序排序

我有一些带有名称字段的文档。我正在使用名称字段的分析版本进行搜索和not_analyzed排序。排序发生在一个级别,即名称首先按字母顺序排序。但是在字母表中,名称是按字典顺序排列的,而不是按字母顺序排列的。这是我使用的映射:

任何人都可以提供相同的解决方案吗?

0 投票
1 回答
762 浏览

logstash - 为 Kibana 制作字符串 not_analyzed

我希望我的字符串not_analyzed既可以用于搜索,也可以用于 Kibana 中的可视化。

我创建了一个自定义 elasticsearch-template.json 来将字符串的默认设置为not_analyzed,并在我的 logstash-log4j.conf 文件中指出了这一点。这是弹性搜索模板.json:

我将此文件与我的 logstash-log4j.com 位于同一目录中,其中包含:

进行这些更改后,我使用 curl 删除并替换了 elasticsearch 索引:

我添加了一些新日志并在 Kibana 中进行可视化,但我仍然将字符串作为分析字段。我错过了什么?

0 投票
1 回答
646 浏览

elasticsearch - Elasticsearch 模板字段映射不起作用

我为特定索引定义了以下模板:

我的意图是为任何字符串值创建一个 .raw 类型并将索引设置为“not_analyzed”。

但是当我创建一些测试数据并进行验证时,最初并没有创建 .raw 字段。

我需要改变什么吗?

0 投票
2 回答
6234 浏览

elasticsearch - 删除字段并将新字段添加到弹性搜索索引中的映射

在为一个字段创建第一个索引时,我犯了一个错误。我错误地将“整数”数据类型分配为“评级”字段的“字符串”,而不是“整数”数据类型。但是存储在该字段中的数据只是整数。当我尝试计算平均评分聚合时,由于字符串数据类型而引发错误。

  1. 有没有办法在不重新索引的情况下更改字段的数据类型?
  2. 如果没有重新索引就不可能,如何删除评级字段并添加具有“整数”数据类型的评级字段?

帮我解决这个问题。

更新

使用以下命令删除了索引中的类型

删除类型并创建具有相同名称的类型并更改我的评分字段的数据类型并重新索引整个数据。一切都很好,直到重新索引。但是平均查询不起作用。以下是我得到的错误:

0 投票
2 回答
117 浏览

elasticsearch - 在 Elasticsearch 中搜索带连字符的文本

我在弹性搜索中存储了一个“付款参考号”。

它的布局是例如:2-4-3-6358445698191095312-4-2-635844533758635433

我希望能够通过他们的付款参考号搜索文件

  1. 使用“整个”参考号进行搜索,例如输入2-4-2-635844533758635433
  2. 从“开始”开始的参考编号的任何“部分”。例如2-4-2-63(.. 所以只返回示例中的第二个)

注意:我不想从头开始搜索“中间”或“结尾”等。

无论如何,连字符让我感到困惑。

问题

1)我不确定是否应该在映射中删除它们,例如

或不。我从来没有以这种方式使用过映射,所以不确定这是否有必要。

2)我认为我需要一个“ngrams”过滤器,因为我希望能够从存在中搜索参考号的一部分。我想像

和过滤器

我不知道如何把它们放在一起,但是

在第二个搜索案例中,我尝试过的所有东西似乎总是“中断”。

如果我这样做'localhost:9200/orders/_analyze?field=paymentReference&pretty=1' -d "2-4-2-635844533758635433",它总是打破连字符作为它自己的标记并返回例如所有2-“很多”的文档!而不是我在搜索时想要的2-4-2-6

有人可以告诉我如何将此字段映射到我要实现的两种类型的搜索吗?

更新 - 答案

实际上是瓦尔在下面所说的。我只是稍微更改了映射以更具体地分析分析器,而且我不需要索引主字符串,因为我只查询部分。

映射

分析仪

筛选