问题标签 [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.
elasticsearch - elasticsearch是否将空字符串视为null?
我想知道弹性搜索是否将空字符串视为空值,但根据我下面显示的映射,我看不到它正在这样做。如何使 elasticsearch 将空字符串视为 anull
并使用null_value
. 我的映射如下所示:
提前致谢。
elasticsearch - Elasticsearch 2.3 放置映射(尝试覆盖日期字段类型)错误
我有一些要存储为字符串的birth_dates。我不打算对数据进行任何查询或分析,我只是想存储它。
我得到的输入数据有很多不同的随机格式,有些甚至包括像(approximate)
. Elastic 已确定这应该是一个具有日期格式的日期字段,这意味着当 elastic 收到一个日期时,1981 (approx)
它会发疯并说输入格式无效。
我不想更改输入日期,而是将日期类型更改为字符串。
我查看了文档并一直在尝试使用PUT
映射 API 更新映射,但弹性不断返回解析错误。
根据此处的文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html
我努力了:
但返回:
问题摘要
是否可以覆盖elasticsearch自动确定的日期字段,强制字符串作为字段类型?
笔记
我正在使用 google chrome sense 插件发送请求
弹性搜索版本是 2.3
java - 弹性搜索 _parent 字段的类型选项不能更改:[null]->[metadata]
这是我的场景:我在 elasticsearch 中创建了两个索引,类型为“数据”和“元数据”。我正在尝试在数据和元数据之间建立父子映射,元数据是数据的父级。我正在使用 elasticsearch 传输客户端 java api 来执行此操作。
但我收到以下错误-
我尝试在网上搜索,但无法得到具体答案。我不想删除现有索引并添加带有映射的索引,因为我在索引中有需要使用的现有信息。(有些人建议这样做)
这是弹性搜索中的错误吗?
如果不是,我的代码不正确,我该如何解决?
java - 为什么 ElasticSearch 不显示分数?
我在 Ubuntu 16.04 上使用 ElasticSearch 2.3.1。
映射是:
查询是:
它找到了 14567 个文档,但分数总是 "_score": 0
我读过过滤器有分数,那么,为什么不在这种情况下呢?
谢谢!
elasticsearch - 带有短语匹配的 Edge NGram
我需要自动完成短语。例如,当我搜索"dementia in alz"时,我想得到"dementia in alzheimer's"。
为此,我配置了 Edge NGram tokenizer。我在查询正文中尝试了edge_ngram_analyzer
和standard
作为分析器。然而,当我尝试匹配一个短语时,我无法获得结果。
我究竟做错了什么?
我的查询:
我的映射:
我的文件:
“阿尔茨海默痴呆症”短语分析:
elasticsearch - 用于在弹性搜索中拆分字符串的映射分析器
是否可以创建一个映射分析器,用于根据字符数将字符串拆分为更小的部分?
例如,假设我有一个字符串:“ABCD1E2F34”。这是由多个较小的代码构成的一些令牌,我想再次将其分解为这些代码。
如果我确定: - 第一个代码总是 4 个字母(“ABCD”) - 第二个是 3 个字母(“1E2”) - 第三个是 1 个字母(“F”) - 第四个是 2 个字母(“34”)
我可以为将像这样映射字符串的字段创建映射分析器吗?如果我将字段“bigCode”设置为具有值“ABCD1E2F34”,我将能够像这样访问它:
非常感谢!
elasticsearch - Elasticsearch 动态类型和 not_analysis 字段
我已经创建了一个这样的动态模板,因为我有dynamic types
:
示例文档:
如何更改此模板,使test_id
字段和branch_id
字段的值不应被索引或分析?not_analyzed
如果该值是一个数组和对象数组,会起作用吗?
elasticsearch - elasticsearch映射分析器 - GET没有得到结果
我正在尝试创建一个分析器,它用空格替换特殊字符并将其转换为大写。然后,如果我想用小写搜索它也应该工作。
映射分析器:
它通过用空格替换特殊字符来正确标记单词。现在,如果我从文本中搜索一个单词,它不会检索到任何结果。
我没有从上面的 GET 查询中得到任何结果。得到如下结果:
谁能帮我这个!谢谢!
node.js - 如何在不使用 Base64 的情况下在 ElasticSearch 中索引二进制文件
我正在使用elasticsearch
NodeJS 包与 ElasticSearch 进行交互。我有一个包含file
字段的文档。我希望能够将文件上传到索引,但我发现的唯一方法是使用 elasticsearch-mapper-attachment 插件。
问题是,如果我使用它,我必须将整个文件加载到内存中,将其编码为 Base64,然后将字符串传递给 ElasticSearch。
我希望能够将 Stream 传递给 ElasticSearch(引用任何二进制文件:pdf、xls、doc、ppt)。
elasticsearch - 为什么 Elasticsearch 中的字段是按类型而不是索引指定的?
如果 Elasticsearch 索引中的多个类型具有相同名称的字段,则这些字段必须具有相同的映射,以尝试将“foobar”属性创建为 string 和 long"...
例如,如果您尝试 PUT 以下索引映射:
...将返回以下错误
以下来自弹性搜索网站:
两种不同类型中具有相同名称的相同索引中的字段必须具有相同的映射,因为它们在内部由相同的字段支持。尝试更新存在于多个类型中的字段的映射参数将引发异常,除非您指定 update_all_types 参数,在这种情况下,它将在同一索引中具有相同名称的所有字段中更新该参数。
如果具有相同名称的字段必须对索引中的所有类型具有相同的映射,那么为什么要为每种类型指定字段映射?为什么不为整个索引指定字段,然后确定为每种类型分配了哪些字段。
例如这样的:
像这样的映射格式不是更简洁,更好地表示实际允许的内容吗?
我问的原因是因为我正在创建一个索引模板 JSON 文件,其中包含 15 种类型中使用的大约 80 个不同字段。许多字段用于多个(如果不是全部)类型。因此,无论何时我需要更新一个字段,我都必须确保为使用它的每种类型更新它。