This bundle uses the KunstmaanSearchBundle to search through Nodes from the KunstmaanNodeBundle
composer.json
"require": {
"kunstmaan/node-search-bundle": "*"
},
AppKernel.php:
public function registerBundles()
{
$bundles = array(
// ...
new Kunstmaan\NodeSearchBundle\KunstmaanNodeSearchBundle(),
// ...
);
Extend the AbstractSearchPage and add your new class as a possible child to a page in your website :
/**
* @return array
*/
public function getPossibleChildTypes()
{
return array(
array(
'name' => 'Search page',
'class'=> "Acme\DemoBundle\Entity\SearchPage"
)
);
}
You may configure the index mapping via Symfony config. For example:
# config.yml
kunstmaan_node_search:
mapping:
average_score:
name: average_score
type: float
index: not_analyzed
tags:
name: tags
type: string
index: analyzed
Please notice that this does not index any data.
Pages can implement HasCustomSearchDataInterface
to dynamically add more data to the document while indexing. For more complex scenarios a service can listen on the kunstmaan_node_search.onIndexNode
event.
Find more documentation on how it works here