问题标签 [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.

0 投票
3 回答
798 浏览

templates - 使用 NEST 调用 Elasticsearch 模板查询?

有没有办法使用 NEST 调用模板查询?有没有例子?

0 投票
1 回答
3295 浏览

elasticsearch - Elasticsearch 索引搜索模板在数组中生成空字符串

首先,这是取自文档

传递一个字符串数组

呈现为:

但是,在我的场景中,我完成了完全相同的模板(至少我是这么认为的),但它对我产生的输出略有不同:

我后来这样称呼它:

然而它被渲染为:

这不是问题,但 myTerms 存储为整数,我想保持这种方式(但如果只有这是解决方案,那么很好,我可以忍受),但是查询会抛出它不能的异常将 "" 转换为整数类型,这是预期的行为

NumberFormatException[对于输入字符串:\"\"]

我应该如何处理?我不想将我的模板存储为文件,我更喜欢它们被索引。

这个 SO 问题很有希望:将整数数组传递给 ElasticSeach 模板,但不清楚,答案并没有解决我的问题(我不允许这样存储我的模板)。

使用的 Elasticsearch 版本:1.6.0

请指教。

0 投票
0 回答
1587 浏览

elasticsearch - 带有用户名和密码的Spring数据弹性搜索

我正在使用 spring 数据,elasticsearch并使用具有以下配置的传输客户端elasticsearchtemplate。我想知道我们如何向elasticsearchtemplate. 我们可以这样做吗?

0 投票
3 回答
3157 浏览

java - Elasticsearch Mustache 可选参数

我一直在努力使用 Elasticsearch 模板,特别是在可选参数方面。我想在那里添加可选过滤器。这是我正在尝试的代码片段:

当然,我用 替换"\"丑化了它,把它包起来{ "template" :"_snippet_above_" }

现在,当我尝试使用以下方法调用它时:

它忽略了我提供的参数,但是当我尝试在官方 mustache.io 演示页面中执行此操作时 - 它工作得很好。

我也尝试{{#ProductIDs.length}}了选项 - 它没有成功。在做了一些研究之后,我发现mustache.jsmustache.java之间有一个区别。我假设 Elasticsearch 使用的是 JAVA 版本,它不支持长度参数,所以我必须依赖 isEmpty。所以我重写了我的查询如下:

现在,当我使用 ProductIDs 列表查询模板时 - 它工作正常,但是如果我删除参数,它不会带来任何结果。我假设它会产生这个:

如果我发送空数组作为参数 - 它工作正常。

我认为这是因为"ProductIDs"undefined而不是空的。

有没有办法在 mustache.java 中解决这种情况,所以我可以忽略这些参数?

tl;博士; 问题是,如果我没有通过模板在搜索请求中指定参数,我的条件将呈现为一个空数组,请参见:

如果我将空数组作为参数传递,请参见:

它按预期工作并且不会像我的模板中描述的那样生成过滤条件,因为数组中没有任何数据。

我要这个:

要像这样工作:

0 投票
1 回答
108 浏览

javascript - Elasticsearch:Javascript如何使用文件模板进行搜索

我在 mustache 文件中创建了一个搜索模板,并将其放在 /config/scripts 中。

我可以通过指定 templateType 来使用这个模板进行 java 搜索

注意:我可以在 javascript 中进行索引 searchTemplate,但我必须使用文件模板。.setTemplateParams(template_params).get();

但我没有在文档Elk javascript 文档中找到如何在 javascript 中做同样的事情。

提前致谢, 亚历山大

0 投票
1 回答
646 浏览

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

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

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

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

我需要改变什么吗?

0 投票
1 回答
1314 浏览

elasticsearch - Elasticsearch:索引推文 - 映射、模板或 ETL

我即将将来自 Apache NiFi 的推文作为 POST 索引到 Elasticsearch,并希望执行以下操作:

  1. create_at字段设为日期。我应该为此使用映射或索引模板吗?

  2. 使某些字段不分析。像主题标签、URL 等。

  3. 想要存储的不是整个推文,而是一些重要的字段。像文本一样,不是所有的用户信息,而是一些字段、主题标签、来自实体的 URL(在帖子 URL 中)。不需要引用的来源。等等在这种情况下我应该使用什么?模板?使用一些 ETL 过程对推文进行预处理,以便提取我需要的数据并在 ES 中编制索引?

我有点困惑。将非常感谢建议。

提前致谢。

0 投票
1 回答
1381 浏览

elasticsearch - 带有 NativeSearchQueryBuilder 空间和大写的 elasticsearch

我正在使用以下代码通过弹性搜索 java api 进行过滤,如果我使用字符串查询,它可以正常工作并返回结果,但是如果我使用带有空格或大写字母的文本,它不会返回任何数据

如果使用

返回数据

如果我使用

或者

不返回数据

0 投票
0 回答
515 浏览

elasticsearch - elasticsearch模板没有在正确的字段上生成原始

所以,

在创建如下模板时,我一直在使用旧的 multi_field 类型。

这很好用,查询时我可以对“field_a”进行术语聚合,而不必记住放置“field_a.raw”或类似的东西。

但是,当我将其更改为仅使用 fields 元素的新语法时,它不再起作用。当我使用下面的模板进行术语聚合时,术语被拆分而不是原始值。因此,如果该字段具有“测试字段”的值,我希望它将“测试字段”作为一个术语而不是“测试”、“a”、“字段”作为单独的术语返回。请注意,这是使用原始模板返回的内容。

我尝试将“索引”:“not_analyzed”移动到初始字段映射中,就在“类型”下但是这给了我一个错误,“非法字段[索引],只能在字段内指定字段”,当尝试索引时文件。

所以我的问题是,有没有一种方法可以让初始字段 not_analyzed 然后有一个可搜索的附加字段?或者我是否必须更改所有内容以包括两个单独的字段,一个是原始字段,一个是可搜索字段,这在你之前是如何工作的似乎有点奇怪。

我在用

巢:1.7.2 ES:1.5.2

0 投票
2 回答
17905 浏览

elasticsearch - Elasticsearch 更新索引模板

我有一个关于elasticsearch索引模板的问题,有我的问题的一个场景。

为系列索引创建一个模板,名为templateA,并且有一些从该模板创建的索引,名为Index-yyyy.mm.dd2Index-yyyy.mm.dd2。一段时间后,我需要在索引中创建一些新字段,然后更新templateA.

那么,如何使之前创建的索引使用新模板?请给我一些建议。非常感谢!