0

我正在按数据库中的日期时间字段订购 FOS elastica 搜索结果。

elastica.yml 在映射上设置了这个属性:

开始时间:{类型:日期,格式:Ymd H:i:s }

但是在填充时我得到了这个:

 [Elastica\Exception\ResponseException]                                                                                                                                  
  MapperParsingException[mapping [soccer]]; nested: IllegalArgumentException[Invalid format: [Y-m-d H:i:s]: Illegal pattern component: i]; nested: IllegalArgumentExcept  
  ion[Illegal pattern component: i];  

如何指定正确的格式,以便我可以通过该日期时间字段搜索我的弹性结果?

4

1 回答 1

2

我设法得到了想要的结果......

在 elastica.yml

startsAt: { "type": "date", "store": true }

在我的控制器动作中:

            $query = new Query();
            $queryString = new \Elastica\Query\QueryString();

            $queryString->setQuery('*'.$request->query->get('search').'*');
            $query->setQuery($queryString);
            $query->addSort(array('startsAt' => array('order' => 'desc')));

            $results = $finder->findPaginated(
                $query,
                array(
                    'from' => ($request->query->get('page', 1) - 1) * $limit,
                    'limit' => $limit,
                )
            );
于 2015-05-06T14:26:00.430 回答