问题标签 [elasticsearch]

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 投票
2 回答
7566 浏览

elasticsearch - ElasticSearch 映射不起作用

我正在尝试为各个字段设置具有不同分析器的 ElasticSearch 索引。但是,我似乎找不到设置特定字段分析器的方法;这是我创建(测试)索引的方式:

如果我正确阅读了文档,那么这应该创建类型为“tweet”的索引“twitter”,并且应该通过雪球词干分析器分析“消息”字段的内容。为了测试这一点,我尝试了以下查询:

如果我没记错的话,那么这应该会返回一个命中,因为战斗是战斗的主干;问题是,事实并非如此,我的命中率为零。似乎 ElasticSearch 完全忽略了映射(即使 ElasticSearch 接受所有这些查询,因为我对它们中的每一个都表示“ok”。)

我已经尝试用雪球分析器替换默认分析器,然后它就可以工作了;问题是,我完全需要特定领域的分析器,所以这对我没有帮助。我还尝试了不同的分析器以及将“index”设置为“no”之类的东西,但无济于事。

我究竟做错了什么?

0 投票
2 回答
18807 浏览

elasticsearch - 使用 Java API 定义自定义 ElasticSearch Analyzer

有没有办法使用 Java API 创建索引并指定自定义分析器?它支持在创建索引时添加映射,但如果不通过 HTTP PUT 发送 JSON,我找不到这样做的方法:

我可以使用 JSONBuilder 构建这样的查询,但我在 API 中找不到运行它的地方,CreateIndexRequest没有任何我可以使用的东西,也没有client.admin().indices(),据我所知。这样做的正确方法是什么?

0 投票
1 回答
2719 浏览

elasticsearch - 使用 Java API 向 Percolator 注册 ElasticSearch 查询

我正在尝试使用 ElasticSearch 的 Percolator 功能;通过文档中的 curl 示例执行此操作非常简单,就像使用 Java API 渗透文档一样。我不知道该怎么做是使用 Java API 向 percolator 注册查询 - 这是如何完成的?

使用文档中的示例,我将如何在 Java 中执行此操作?

0 投票
4 回答
10996 浏览

cassandra - ElasticSearch + Cassandra 的实际限制

我计划使用 ElasticSearch 来索引我的 Cassandra 数据库。我想知道是否有人看到了 ElasticSearch 的实际限制。在 PB 范围内事情会变慢吗?另外,有人在使用 ElasticSearch 索引 Cassandra 时遇到任何问题吗?

0 投票
2 回答
3323 浏览

lucene - Solandra 与 ElasticSearch

我们正在使用一个 Cassandra 数据库,该数据库将存储 PB 范围内的数据。我们正在考虑使用 ElasticSearch 或 Solandra,但我们正在愉快地决定使用哪一个。我想知道我们的数据库是否会变得太大。我知道 ElasticSearch 是可扩展的,但在多大程度上——尤其是对于 Cassandra 数据库。

另一方面,Solandra 是为 Cassandra 设计的,并且具有高度可扩展性,但同样,在多大程度上?

两者都是可扩展的,但使用 Cassandra 的可扩展性如何?

0 投票
1 回答
16329 浏览

arrays - 如何在elasticsearch中按数组元素进行搜索?

我有一个在 elasticsearch 中索引的文档:

我尝试通过查询找到它:

并没有收到任何结果。

同时查询内容工作正常:

搜索数组是否需要一些特殊语法?我在 elasticsearch 中找到了几个关于数组的主题 [ 1 , 2 ],但没有直接答案。

UPD Get Mapping 调用返回下一个结果:

UPD2我找到了问题的根源。我不小心在我的问题中引入了一个错误。我在 DB 中实际使用的用户名形式为“some_one”(下划线很重要)。因此,标准索引将其拆分为 2 个单词并查询导致失败的“some_one”。

0 投票
11 回答
138691 浏览

elasticsearch - 如何使用 ElasticSearch 搜索单词的一部分

我最近开始使用 ElasticSearch,但我似乎无法让它搜索单词的一部分。

示例:我在 ElasticSearch 中索引了来自我的 couchdb 的三个文档:

所以现在,我想搜索所有包含“Doe”的文档

这不会返回任何命中。但如果我搜索

它确实返回一份文件(John Doeman)。

我尝试将不同的分析器和不同的过滤器设置为我的索引的属性。我也尝试过使用完整的查询(例如:

) 但似乎没有任何效果。

当我搜索“Doe”时,如何让 ElasticSearch 找到 John Doeman 和 Jane Doewoman ?

更新

我尝试使用 nGram 标记器和过滤器,就像 Igor 建议的那样,如下所示:

我现在遇到的问题是每个查询都返回所有文档。任何指针?关于使用 nGram 的 ElasticSearch 文档不是很好……

0 投票
1 回答
954 浏览

lucene - .NET 版本的弹性搜索?

有谁知道已经实现的弹性搜索的 .NET 端口?我们找到了一个 .NET 客户端(很容易自己创建),但没有找到服务器。

0 投票
1 回答
1279 浏览

ruby-on-rails - ElasticSearch 搜索多种类型

我将 Rails 与Tire gem(用于 ElasticSearch)一起使用,我需要在多个模型中进行搜索。就像是:

我知道我可以一个一个地搜索模型然后处理这些结果,但是考虑到 ElasticSearch(Lucene) 是面向文档的,这应该是不必要的。

有什么想法吗?

谢谢,

0 投票
1 回答
6574 浏览

elasticsearch - 给定我的映射和使用关键字,我应该如何查询 Elastic Search?

我有一个非常简单的映射,如下所示(我简化了示例):

现在我使用一些基于真实英语单词的随机值来索引很多位置。

我希望能够在名称或描述字段中搜索与任何给定关键字匹配的位置(名称更重要,因此我给予了提升)。我尝试了一些不同的查询,但它们没有返回任何结果。

考虑到在描述中有savaged这个词的位置,它应该会给我一些结果(savagesavaged的​​词干)。使用上述查询产生 0 个结果。我一直在使用 curl 来查询 ES:

如果我改用查询字符串:

我实际上得到了一个结果(当然现在它只会搜索描述字段)。

基本上,我正在寻找一个查询,它将使用多个关键字进行 OR 类型的搜索,并将它们与名称和描述字段中的值进行比较。