问题标签 [elasticsearch-template]
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.
templates - 使用 NEST 调用 Elasticsearch 模板查询?
有没有办法使用 NEST 调用模板查询?有没有例子?
elasticsearch - Elasticsearch 索引搜索模板在数组中生成空字符串
首先,这是取自文档:
传递一个字符串数组
呈现为:
但是,在我的场景中,我完成了完全相同的模板(至少我是这么认为的),但它对我产生的输出略有不同:
我后来这样称呼它:
然而它被渲染为:
这不是问题,但 myTerms 存储为整数,我想保持这种方式(但如果只有这是解决方案,那么很好,我可以忍受),但是查询会抛出它不能的异常将 "" 转换为整数类型,这是预期的行为
NumberFormatException[对于输入字符串:\"\"]
我应该如何处理?我不想将我的模板存储为文件,我更喜欢它们被索引。
这个 SO 问题很有希望:将整数数组传递给 ElasticSeach 模板,但不清楚,答案并没有解决我的问题(我不允许这样存储我的模板)。
使用的 Elasticsearch 版本:1.6.0
请指教。
elasticsearch - 带有用户名和密码的Spring数据弹性搜索
我正在使用 spring 数据,elasticsearch
并使用具有以下配置的传输客户端elasticsearchtemplate
。我想知道我们如何向elasticsearchtemplate
. 我们可以这样做吗?
java - Elasticsearch Mustache 可选参数
我一直在努力使用 Elasticsearch 模板,特别是在可选参数方面。我想在那里添加可选过滤器。这是我正在尝试的代码片段:
当然,我用 替换"
,\"
丑化了它,把它包起来{ "template" :"_snippet_above_" }
。
现在,当我尝试使用以下方法调用它时:
它忽略了我提供的参数,但是当我尝试在官方 mustache.io 演示页面中执行此操作时 - 它工作得很好。
我也尝试{{#ProductIDs.length}}
了选项 - 它没有成功。在做了一些研究之后,我发现mustache.js和mustache.java之间有一个区别。我假设 Elasticsearch 使用的是 JAVA 版本,它不支持长度参数,所以我必须依赖 isEmpty。所以我重写了我的查询如下:
现在,当我使用 ProductIDs 列表查询模板时 - 它工作正常,但是如果我删除参数,它不会带来任何结果。我假设它会产生这个:
如果我发送空数组作为参数 - 它工作正常。
我认为这是因为"ProductIDs"
是undefined
而不是空的。
有没有办法在 mustache.java 中解决这种情况,所以我可以忽略这些参数?
tl;博士; 问题是,如果我没有通过模板在搜索请求中指定参数,我的条件将呈现为一个空数组,请参见:
如果我将空数组作为参数传递,请参见:
它按预期工作并且不会像我的模板中描述的那样生成过滤条件,因为数组中没有任何数据。
我要这个:
要像这样工作:
javascript - Elasticsearch:Javascript如何使用文件模板进行搜索
我在 mustache 文件中创建了一个搜索模板,并将其放在 /config/scripts 中。
我可以通过指定 templateType 来使用这个模板进行 java 搜索
注意:我可以在 javascript 中进行索引 searchTemplate,但我必须使用文件模板。.setTemplateParams(template_params).get();
但我没有在文档Elk javascript 文档中找到如何在 javascript 中做同样的事情。
提前致谢, 亚历山大
elasticsearch - Elasticsearch 模板字段映射不起作用
我为特定索引定义了以下模板:
我的意图是为任何字符串值创建一个 .raw 类型并将索引设置为“not_analyzed”。
但是当我创建一些测试数据并进行验证时,最初并没有创建 .raw 字段。
我需要改变什么吗?
elasticsearch - Elasticsearch:索引推文 - 映射、模板或 ETL
我即将将来自 Apache NiFi 的推文作为 POST 索引到 Elasticsearch,并希望执行以下操作:
将
create_at
字段设为日期。我应该为此使用映射或索引模板吗?使某些字段不分析。像主题标签、URL 等。
想要存储的不是整个推文,而是一些重要的字段。像文本一样,不是所有的用户信息,而是一些字段、主题标签、来自实体的 URL(在帖子 URL 中)。不需要引用的来源。等等在这种情况下我应该使用什么?模板?使用一些 ETL 过程对推文进行预处理,以便提取我需要的数据并在 ES 中编制索引?
我有点困惑。将非常感谢建议。
提前致谢。
elasticsearch - 带有 NativeSearchQueryBuilder 空间和大写的 elasticsearch
我正在使用以下代码通过弹性搜索 java api 进行过滤,如果我使用字符串查询,它可以正常工作并返回结果,但是如果我使用带有空格或大写字母的文本,它不会返回任何数据
如果使用
返回数据
如果我使用
或者
不返回数据
elasticsearch - elasticsearch模板没有在正确的字段上生成原始
所以,
在创建如下模板时,我一直在使用旧的 multi_field 类型。
这很好用,查询时我可以对“field_a”进行术语聚合,而不必记住放置“field_a.raw”或类似的东西。
但是,当我将其更改为仅使用 fields 元素的新语法时,它不再起作用。当我使用下面的模板进行术语聚合时,术语被拆分而不是原始值。因此,如果该字段具有“测试字段”的值,我希望它将“测试字段”作为一个术语而不是“测试”、“a”、“字段”作为单独的术语返回。请注意,这是使用原始模板返回的内容。
我尝试将“索引”:“not_analyzed”移动到初始字段映射中,就在“类型”下但是这给了我一个错误,“非法字段[索引],只能在字段内指定字段”,当尝试索引时文件。
所以我的问题是,有没有一种方法可以让初始字段 not_analyzed 然后有一个可搜索的附加字段?或者我是否必须更改所有内容以包括两个单独的字段,一个是原始字段,一个是可搜索字段,这在你之前是如何工作的似乎有点奇怪。
我在用
巢:1.7.2 ES:1.5.2
elasticsearch - Elasticsearch 更新索引模板
我有一个关于elasticsearch索引模板的问题,有我的问题的一个场景。
为系列索引创建一个模板,名为templateA
,并且有一些从该模板创建的索引,名为Index-yyyy.mm.dd2
和Index-yyyy.mm.dd2
。一段时间后,我需要在索引中创建一些新字段,然后更新templateA
.
那么,如何使之前创建的索引使用新模板?请给我一些建议。非常感谢!