From 70c629f857820b0791281352dbdfc5f2055de339 Mon Sep 17 00:00:00 2001 From: predakanga Date: Thu, 9 Aug 2012 13:49:04 +1000 Subject: [PATCH] Added configuration options to support index-time document boosting --- DependencyInjection/Configuration.php | 19 +++++++++++++++++++ DependencyInjection/FOQElasticaExtension.php | 3 +++ 2 files changed, 22 insertions(+) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index ebd006c..3f17fcb 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -214,6 +214,7 @@ class Configuration ->end() ->append($this->getMappingsNode()) ->append($this->getSourceNode()) + ->append($this->getBoostNode()) ->end() ; @@ -295,4 +296,22 @@ class Configuration return $node; } + + /** + * Returns the array node used for "_boost". + */ + protected function getBoostNode() + { + $builder = new TreeBuilder(); + $node = $builder->root('_boost'); + + $node + ->children() + ->scalarNode('name')->end() + ->scalarNode('null_value')->end() + ->end() + ; + + return $node; + } } diff --git a/DependencyInjection/FOQElasticaExtension.php b/DependencyInjection/FOQElasticaExtension.php index 12658ba..203a12a 100644 --- a/DependencyInjection/FOQElasticaExtension.php +++ b/DependencyInjection/FOQElasticaExtension.php @@ -170,6 +170,9 @@ class FOQElasticaExtension extends Extension if (isset($type['_source'])) { $this->indexConfigs[$indexName]['config']['mappings'][$name]['_source'] = $type['_source']; } + if (isset($type['_boost'])) { + $this->indexConfigs[$indexName]['config']['mappings'][$name]['_boost'] = $type['_boost']; + } if (isset($type['mappings'])) { $this->indexConfigs[$indexName]['config']['mappings'][$name]['properties'] = $type['mappings']; $typeName = sprintf('%s/%s', $indexName, $name);