我是Symfony的新手,我有一点问题。我一直在网上搜索,找不到我的问题的答案。我写搜索。我使用fosElasticBundle。我存储在Elasticsearch中的数据。 FosElasticBundle提供了一个方法“find()”来返回elasticsearch中的记录。此方法的基本功能非常简单 - > find(“xxx”)并获取字符串xxx的所有记录。但我想做一些更复杂的事情。 我想以某种方式获取存储在elasticsearch中的数据,以便稍后将它们与我的参数(地理坐标)进行比较。 有人知道如何在“查找(查询)”中引用来自ES的数据?
答案 0 :(得分:0)
这就是地理搜索的样子:
$finder = $this->container->get('fos_elastica.finder.app.blog_post');
$boolQuery = new \Elastica\Query\BoolQuery();
// (field, [top_left, bottom_right])
$geoQuery = new \Elastica\Query\GeoBoundingBox('geo_point', [
'51.517577,-0.090372',
'51.509047,-0.079461',
]);
$boolQuery->addMust($geoQuery);
$results = $finder->find($boolQuery);
<强>来源
谈话:https://www.youtube.com/watch?v=vfA9nv7Mmsw
幻灯片:http://foaly-nr1.github.io/slides/symfony-and-elasticsearch