2013-07-15 49 views
0

我通過彈性彎曲產生的查詢問題,它看起來像這樣彈性曲線刻面範圍

$finder = $this->container->get('fos_elastica.finder.website.product'); 
$boolQuery = new \Elastica\Query\Bool(); 

$fieldText = new \Elastica\Query\Text(); 
$fieldText->setFieldQuery('name', $keyword); 
$fieldText->setFieldParam('name', 'analyzer', 'my_analyzer'); 
$boolQuery->addMust($fieldText);//`enter code here 

$fieldTerms = new \Elastica\Query\Terms();//`enter code here`enter code here` 
$fieldTerms->setTerms('taxon_ids', $themeArray);//`enter code here` 
$boolQuery->addMust($fieldTerms); 


//But when I add Facets range it makes problem?Any Help?`enter code here` 

if(count($priceRange)) 
{ 
$facets = new \Elastica\Facet\Range('price'); 
$facets->setField('price'); 
$facets->addRange($min, $max); 
$facets->setGlobal(false); 
$query->addFacet($facets); 
} 


$resultSet = $finder->find($query, 500);///It brokes here? 

請任何人可以幫助我解決這個查詢,我使用FOSElasticaBundle?

+0

我能幫忙嗎?你解決了這個問題嗎?如果您還有其他Q,請隨時詢問! – ramseykhalaf

回答

0

我還沒有完全做你在做什麼,但我猜你需要使用\Elastica\Search類,然後創建併發送一個查詢。例如:

$searcher = new \Elastica\Search(put-your-client-here!); 

$esResultSet = $searcher->search($query); 

$arrayOfResults = $esResultSet->getResults(); 
$arrayOfFacets = $esResultSet->getFacets(); 

祝你好運!

+0

好吧,但它回調一些elastica結果,我需要我的對象作爲發現者返回,我怎麼能從這個getResults得到真正的對象? –