Algolia - 排除具有特定值的结果

时间:2017-06-07 19:21:51

标签: search algolia

我正在尝试弄清楚如何从搜索结果中排除特定记录。

我的记录如下:

eventId:bcf9e22b-adb1-11e6-b058-0623f336d3b3
name:Event Name
fullAddress:1964 Long Beach Rd, Toronto, ON, Canada
latitude:44.998148000000
longitude:-79.319882400000
eventStartAt:1469948400
objectID:eyJpZCI6ImJjZjllMjJiLWFkYjEtMTFlNi1iMDU4LTA2MjNmMzM2ZDNiMyJ9

因此,在搜索事件名称时,我试图排除某些具有特定eventId的记录。

我正在使用Algolia提供的Symfony包,所以我的代码如下:

$results = $this->get('algolia.indexer')->search(
   $this->get('doctrine.orm.entity_manager'),
   'MyBundle:Entity',
   'Random Event Name',
   [
          'numericFilters'      => 'eventStartAt > 1469948000',
          'minWordSizefor1Typo' => 2,
          'filters'             => 'NOT eventId:b2c7a242-e17d-11e6-b058-0623f336d3b3',
   ]
); 

生成请求正文:

{
  "params": "numericFilters=eventStartAt+%3E+1469948000&minWordSizefor1Typo=2&filters=NOT+eventId%3Ab2c7a242-e17d-11e6-b058-0623f336d3b3&query=Random+Event+Name"
}

问题是NOT eventId:b2c7a242-e17d-11e6-b058-0623f336d3b3过滤器似乎根本没有被应用,而eventId b2c7a242-e17d-11e6-b058-0623f336d3b3的记录仍然存在于我的结果中。

0 个答案:

没有答案