Elasticsearch建议仅在日期大于当前的情况下

时间:2015-10-20 13:04:33

标签: php elasticsearch autocomplete

我在门户网站上进行网球比赛,并使用elasticserach作为全文搜索引擎。

我还使用elasticsearch title suggester创建了自动完成功能。但全文搜索的要求是只搜索未来的锦标赛,所以我需要一些建议解决方案,如何仅建议开始日期> =当前日期时间的锦标赛。

是否可以制作建议者,只返回日期大于今天和特定国家/地区的结果?

我实际配置自动完成功能:

/**
 * Main search field autocomplete.
 *
 * @param $q
 * @return array
 */
public function autocomplete($q)
{
    $date = new DateTime();

    $results = $this->getClient()->suggest([
        'index' => 'tournaments',
        'body' => [
            'title_suggest' => [
                'text' => $q,
                'completion' => [
                    'field' => 'title_suggest',
                ],
            ]
        ]
    ]);

    $resultData = [];

    foreach($results['title_suggest'][0]['options'] as $hit)
    {
        $resultData[] = $hit['text'];
    }

      return $resultData;
}

0 个答案:

没有答案