Files
Phraseanet/lib/Alchemy/Phrasea/SearchEngine/Elastic/AST/TextNode.php
Mathieu Darse fe7e63b3d7 QuotedTextNode don't inherit anymore from TextNode
- Quoted text do not hit the thesaurus anymore
- getTextNodes() was misleading, renamed to getTermNodes()
2015-02-25 12:22:52 +01:00

35 lines
927 B
PHP

<?php
namespace Alchemy\Phrasea\SearchEngine\Elastic\AST;
use Alchemy\Phrasea\SearchEngine\Elastic\Search\QueryContext;
use Alchemy\Phrasea\SearchEngine\Elastic\Thesaurus\Term;
use Alchemy\Phrasea\SearchEngine\Elastic\Thesaurus\TermInterface;
class TextNode extends AbstractTermNode
{
public function buildQuery(QueryContext $context)
{
$query = array(
'multi_match' => array(
'fields' => $context->getLocalizedFields(),
'query' => $this->text,
)
);
if ($conceptQueries = $this->buildConceptQueries($context)) {
$textQuery = $query;
$query = array();
$query['bool']['should'] = $conceptQueries;
$query['bool']['should'][] = $textQuery;
}
return $query;
}
public function __toString()
{
return sprintf('<text:%s>', Term::dump($this));
}
}