使用elasticsearch中的参数进行查询(fosElasticBundle)

时间:2016-07-26 10:47:44

标签: symfony elasticsearch foselasticabundle

我是Symfony的新手,我有一点问题。我一直在网上搜索,找不到我的问题的答案。我写搜索。我使用fosElasticBundle。我存储在Elasticsearch中的数据。 FosElasticBundle提供了一个方法“find()”来返回elasticsearch中的记录。此方法的基本功能非常简单 - > find(“xxx”)并获取字符串xxx的所有记录。但我想做一些更复杂的事情。 我想以某种方式获取存储在elasticsearch中的数据,以便稍后将它们与我的参数(地理坐标)进行比较。 有人知道如何在“查找(查询)”中引用来自ES的数据?

1 个答案:

答案 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