问题标签 [elasticsearch-php]

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 回答
406 浏览

php - 带有文本字段的 Elasticsearch 基数聚合

我正在尝试查询每个会话中生成的平均请求,我在将数据放入索引时插入了一个 session_id,我想计算不同的会话并取出平均值,同时检查我知道的数据映射它在文本字段中:

为了获取我调用的数据:

但我收到一条错误消息:

如果我根据关键字进行更改:

它给了我 0 价值

0 投票
1 回答
159 浏览

elasticsearch - 在弹性搜索中生成数据表

我正在尝试制作一个包含一些计算的数据表

我创建了一个包含所有数据的索引,因此我的数据以以下格式存储:

因此,根据我的数据集,我想获取所有唯一的bidderCode(将在表中表示为Bidder)并使用相应的计算生成数据。例如

  1. 请求 - 这将是聚合中的文档总数
  2. CPM - CPM 将是所有 CPM 的总和除以 1000
  3. 收入 - 总 CPM 乘以 1000
  4. 响应时间 - (responseTimestamp - requestTimestamp) 的平均值

我怎么能做到这一点,我有点困惑。我尝试通过以下方式构建块:

但它向我显示错误:

我是新手,请帮助我。谢谢。

0 投票
1 回答
111 浏览

elasticsearch - 带有分组查询字符串的 Elasticsearch

弹性搜索的新手。根据此处的文档构建 JSON:https ://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html

但是,查询运行时Sydney, Australia也会返回带有其他城市的结果。为什么 AND 部分不起作用?

我希望搜索词组与名称、关键字中的一个或两个匹配,但城市应该是严格意义上的悉尼。

0 投票
1 回答
57 浏览

elasticsearch - Elasticsearch Completion Suggester 忽略 Index 参数并返回多个索引的结果

我正在使用 Elastic 的 PHP 实现来使用这样的 Completion Suggester:

但是,响应还包含其他索引:

我担心这可能会影响性能,因为其他一些索引也包含一个suggest1, 字段并且它们被搜索并返回结果。我没有更改名称,有时我想以类似的方式处理建议字段,但是跨索引具有相同的建议类型字段名称是否有问题?

或者有没有办法更明确地定义索引?我也尝试将索引名称附加到端点,但结果相同。我在 PHP 实现中找到了一个明确的建议端点,但它似乎已被弃用?任何帮助深表感谢!

0 投票
1 回答
2178 浏览

elasticsearch - 返回 Elasticsearch 中搜索查询的位置和突出显示

我正在使用安装在个人 Debian 服务器上的官方 Elasticsearch-PHP 客户端,我正在尝试做的事情包括索引、搜索和突出显示单个文档。即每个搜索结果将只返回一个文档 - 然后将突出显示“简单查询字符串”搜索。我也在使用 FVH(快速矢量突出显示)。

我的问题和这个Position 结果类似,不是高亮,而且测试代码基本相同,这里不再赘述。但是在我的情况下,我需要定位和突出显示我点击了有关术语向量的文档的链接,但就像其他 OP 一样,我的搜索本身并不是确切的单词。在某些情况下,它们是短语。我将如何处理这个?

我的用例是只搜索一个文档(对于每个查询),并显示带有链接的结果摘要,用户可以单击这些链接转到文档中该结果来自的特定位置。如果我有索引/位置,我可以简单地将它用于文档的完整来源。我检查了文档无济于事。

0 投票
1 回答
68 浏览

php - 使用通配符、范围和术语进行 Elasticsearch 搜索

我正在尝试在具有 product_name、exported_at 和 category_id 等字段的 Elasticsearch(7.1 版)索引上编写搜索 DSL 查询。

从文档中我了解到,我需要使用通配符、范围来搜索日期字段和术语来过滤所需的 category_id。

示例:我需要过滤其 SQL 为的数据:

更新代码如下:

现在的问题是,如果使用像“地理”这样的单个词作为它工作的产品名称,搜索就可以工作,而搜索像“亚洲地理”这样的多个词将不起作用。

0 投票
0 回答
90 浏览

elasticsearch - Elasticsearch 批量操作:如果不存在则插入,否则更新或添加嵌套元素

在弹性搜索7.11.0中,我有描述的产品。

我已经通过批量index操作添加了这个产品。如果存在,它将更新它,如果不存在,它将创建它。

我收到来自多个商家的产品。一种产品可以存在于一个或多个商家中。这就是为什么我有嵌套元素merchants

作为操作想要做的事情bulk如下:

导入运行:

  • 产品不存在:Create a new product with a nested merchant
  • 产品存在:Check if the merchant exists. If not, create a new nested element, otherwise update the nested elements

我可以一个一个地做,但是由于产品的数量,它不是很方便。我正在使用elasticsearch PHP package.

0 投票
1 回答
36 浏览

elasticsearch - 如何在 Elasticsearch 查询中优先考虑文档

我的索引中有产品。文档的结构基本上是这样的:

当我搜索“ BANANA”时,我会优先考虑与mainTaxon不同的产品JEANS。因此,带有mainTaxon名称T_SHIRT或其他名称的每个产品都将列在带有mainTaxon JEANS.

0 投票
1 回答
545 浏览

php - Elasticsearch-PHP 7 返回给定映射的所有文档

概括

无法使用 ElasticSearch-PHP 7 包从我的 ElasticSearch 实例中获取任何/所有文档。

当我运行 Curl 查询时,效果很好。所以我知道我已经正确地批量插入了文档。意味着文件确实存在。

卷曲成功

卷曲电话

Elasticsearch-PHP 7 搜索手册

https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/search_operations.html

转储的结果无法显示结果

更新了可能的解决方案?

菜鸟之举,我应该对比一下版本。包 elasticsearch/elasticsearch 有一个版本映射。

https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/installation.html

我目前正在使用弹性搜索/弹性搜索的 v 5.2。

看起来 v5 不支持 match_all?这对我来说真的很奇怪。我认为一个基本功能是获取所有文档。我知道它是一个搜索工具,也许它只是专注于过滤的搜索结果。并且它可能只是以未记录的不同方式处理它。

v5:https ://www.elastic.co/guide/en/elasticsearch/client/php-api/5.x/_match_query.html

我目前被锁定在我的工作 VPN 之外,无法升级软件包进行测试。一旦我有能力就会跟进。

0 投票
1 回答
43 浏览

elasticsearch - 使用 Elasticsearch php 的多个 OR 和 AND 条件

我想用 ElasticSearch 实现以下查询:

product_shipper = 1 AND ((product_type = product and price>0) OR (product_type = product_variation and price=0))

我已经构建了以下查询,但它不起作用,给我发送了一个空结果:

我究竟做错了什么?