问题标签 [foselasticabundle]

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

elasticsearch - ElasticSearch has_child 查询什么也没找到

我有一个问题,对象已被索引,但使用 has_child 搜索时,没有返回任何内容。

映射:

家长:

孩子:

父文档和子文档都存在:

家长:

结果:

没有路由的孩子失败:

结果:

带路由的孩子:

结果:

但是 has_child 什么也没找到:

结果:

has_parent 也是:

结果:

我的猜测是索引有问题,没有设置父子关系。但另一方面,发现孩子具有正确的路由。

或者我只是做错了查询。

如何查看父母的子文件是什么?

编辑

索引请求:

这里不应该是父母还是什么?

0 投票
1 回答
502 浏览

elasticsearch - ElasticSearch _suggest 查询可以返回多个字段吗?

我有一个索引的以下映射,我在其中进行建议/自动完成查找和响应。

这是请求的端点和数据:site.dev:9200/listingsuggest/_suggest

因此,这适用于查找与以 Minn 开头的城市匹配的文档。我遇到的问题是我还想返回与“Minn”匹配的每个文档的 stateOrProvince 字段值。例如,我的结果集带有以下匹配的单词:

我需要它做的是返回这个:

目前的完整回应:

如果可能,希望得到完整的答复:

这是可能的,还是该响应的某种变体?

0 投票
1 回答
584 浏览

symfony - 自动更改嵌套对象更改的 ES 数据

这是我对产品类型的映射。customProductQueryBuilderElastica包含仅填充具有活动状态和相关品牌状态活动的产品的代码。如果我从管理员那里更改产品,它会完美运行。

我想要做的是,当我将品牌状态更改为非活动状态时,所有相关产品都应从 ES 中删除。

为此,我已将品牌用作产品的嵌套并为其创建了监听器,如此处所述,现在我可以自动更改 ES 中每个产品的品牌状态,但我想在品牌状态设置为非活动时删除此类产品。如何以更好的方式实现这一目标?

0 投票
0 回答
151 浏览

symfony - FosElasticaBundle:如何使用多个关键字进行搜索?

这对我有用:$results = $finder->find('muj*');

但是当我尝试时,$results = $finder->find(array('muj*', 'hom*));我得到了这个:

SearchPhaseExecutionException[执行阶段[查询]失败,所有分片失败;shardFailures {[qTMnzJeGTu-YVumR2xLW1Q][search] 1 : RemoteTransportException[[Starshine][inet[/192.168.1.83:9302]][search/phase/query]]; 嵌套:SearchParseException [搜索:来自[-1],大小[-1]:解析失败[无法解析源[{“0”:“muj*”,“1”:“hom*”,“query”:{ "match_all":{}}}]]]; 嵌套:SearchParseException [搜索: from[-1],size[-1]: Parse Failure [No parser for element [0]]]; }{[LgfD_idnTtmv3JHcMPnkmw][search][0]: SearchParseException[[search][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"0":"muj*" ,"1":"hom*","query":{"match_all":{}}}]]]; 嵌套:SearchParseException[[search][0]: from[-1],size[-1]: Parse Failure [No parser for element [0]]]; }{[vpaWi0XRT8eo7UYtgFFsag][search][3]: RemoteTransportException[[Clint Barton][inet[/192.168.1.83:9301]][search/phase/query]]; 嵌套:SearchParseException[[search][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"0":"muj*","1":"hom*", "查询":{"match_all":{}}}]]]; 嵌套:SearchParseException[[search][3]: from[-1],size[-1]: 解析失败[元素 [0]] 没有解析器];}{[LgfD_idnTtmv3JHcMPnkmw][search][2]: SearchParseException[[search][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"0":"muj*" ,"1":"hom*","query":{"match_all":{}}}]]]; 嵌套:SearchParseException[[search][2]: from[-1],size[-1]: Parse Failure [No parser for element [0]]]; }{[qTMnzJeGTu-YVumR2xLW1Q][search][4]: RemoteTransportException[[Starshine][inet[/192.168.1.83:9302]][search/phase/query]]; 嵌套:SearchParseException[[search][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"0":"muj*","1":"hom*", "查询":{"match_all":{}}}]]]; 嵌套:SearchParseException[[search][4]: from[-1],size[-1]: Parse Failure [No parser for element [0]]];

对我来说这很奇怪,因为文档说它find()承认一个数组作为参数

0 投票
1 回答
801 浏览

symfony - 两个字段的弹性搜索查询

我正在尝试为某些产品编写查询。产品有两个字段,标题和描述。我想编写一个查询,传入一些文本并返回给我匹配文本的产品。我希望标题中匹配的所有产品都排在描述中匹配的所有产品之上。我还希望描述字段匹配要求更高的模糊性,并且最小值应该比标题匹配。

到目前为止,我只能找到编写查询的方法 A) 将检查这两个字段,但标题和描述的匹配将排名相同或 b) 将检查这两个字段,但在返回之前需要在两个字段中匹配结果。

在常规弹性搜索或使用 FOSElasticaBundle 中编写此内容的任何帮助将不胜感激。

0 投票
0 回答
249 浏览

elasticsearch - Elasticsearch 聚合方面过滤器

我已经使用弹性搜索聚合进行了方面搜索。术语聚合返回每个存储桶的“doc_count”。我想创建这样的方面:

字母:-a (22) -b (33) -c (44)

当我把标记放在 c 行时,我想得到这样的东西

字母:-a (+22) -b (+33) *c (44)

谢谢你的建议

0 投票
2 回答
4026 浏览

symfony - 创建自定义存储库 fos 弹性搜索

我试图制作一个简单的自定义存储库,以了解弹性搜索存储库的工作原理。该文档非常简单,但我仍然不明白它是如何工作的,我收到此错误“服务定义“fos_elastica.manager”不存在。”。到目前为止,我认为我的问题出在控制器上,因为我不明白如何初始化它们,我也想知道我在自定义存储库的配置和我所做的简单查询中是否以正确的方式。

每当我尝试进行搜索时,我都会使用此配置出现此错误,

这是我到目前为止的配置://app/config.yml

这是我的控制器动作:

这是我的帖子存储库:

由于我使用 yml 这是我的 tblpost.orm,我确实生成了我的实体。

每当我执行 get postaction 时,它都会让我找不到容器,而且我没有看到如何正确启动它的示例,这也是您进行自定义查询的方式吗?

编辑1:

所以我改变了这个:

对此:

我得到这个错误:

0 投票
1 回答
146 浏览

elasticsearch - FOSElasticaBundle:在用户搜索中优先关注关注者

我已经通过 FOSElasticaBundle 用 elastica 设置了 symfony2 项目。我已经使用基本设置为用户文档(Mongo)设置了索引。现在,当我搜索用户时,我希望该搜索由指定用户的关注者优先考虑(返回搜索顶部)。关注者存储在单独的文档中(结构:id、follower_id、folowee_id)。这样做的最佳方法是什么?

0 投票
0 回答
162 浏览

elasticsearch - foselasticabundle 嵌套条件搜索

这是我的配置

这是我的索引数据

我正在尝试在filterCategories嵌套集合上构建条件搜索

tagtags和依赖namefilterCategory彼此的值。

我怎样才能做到这一点?

0 投票
3 回答
3679 浏览

elasticsearch - 使用 PHP Elastica 和 Symfony2 FosElasticaBundle 进行计数查询

我在一个使用 FosElasticaBundle (@dev) 的 Symfony 2.5.6 项目中。

在我的项目中,我只需要获取 Elastic Search 请求的总点击数。也就是说,我使用普通请求查询弹性搜索,但通过特殊的“计数”URL

请注意“search_type=count” URL 参数。

这是示例查询:

结果包含正常的 JSON 响应,但在part中没有任何文档hits。从这个回复中,我很容易得到总数:

好的,hits.total == 81

现在,我在存储库中找不到任何通过 FOSElasticaBundle 执行相同操作的解决方案。

我试过这个:

但是我尝试加载类“Pagerfanta”。我不想要Pagerfanta。

然后这个:

但它总是给我0。

如果我可以从存储库访问 Elastica Finder 服务会很容易(然后我可以从查询搜索中获得一个 ResultSet,并且这个 ResultSet 有一个正确的 getTotalHits() 方法)。但是来自存储库的服务......你知道的。

感谢您提供任何帮助或线索!