Skip to content

Commit

Permalink
重构 TokenizerManager
Browse files Browse the repository at this point in the history
  • Loading branch information
vanry committed Apr 27, 2018
1 parent 37ecdab commit 0670037
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions src/TokenizerManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Vanry\Scout;

use Latrell\Scws\Scws;
use Phpanalysis\Phpanalysis;
use Illuminate\Support\Manager;
use TeamTNT\TNTSearch\Support\Tokenizer;
use Vanry\Scout\Tokenizers\ScwsTokenizer;
Expand All @@ -18,7 +19,7 @@ class TokenizerManager extends Manager
*/
public function createJiebaDriver()
{
return new JiebaTokenizer($this->app['config']['scout.tntsearch.tokenizer.jieba']);
return new JiebaTokenizer($this->getConfig('jieba'));
}

/**
Expand All @@ -30,7 +31,7 @@ public function createAnalysisDriver()
{
$analysis = new Phpanalysis;

foreach ($this->app['config']['scout.tntsearch.tokenizer.analysis'] as $key => $value) {
foreach ($this->getConfig('analysis') as $key => $value) {
$key = camel_case($key);

if (property_exists($analysis, $key)) {
Expand All @@ -48,9 +49,7 @@ public function createAnalysisDriver()
*/
public function createScwsDriver()
{
return new ScwsTokenizer(
new Scws($this->app['config']['scout.tntsearch.tokenizer.scws'])
);
return new ScwsTokenizer(new Scws($this->getConfig('scws')));
}

/**
Expand All @@ -63,13 +62,24 @@ public function createDefaultDriver()
return new Tokenizer;
}

/**
* Get the TNTSearch tokenizer configuration.
*
* @param string $name
* @return array
*/
protected function getConfig($name)
{
return $this->app['config']["scout.tntsearch.tokenizer.{$name}"];
}

/**
* Get the default session driver name.
*
* @return string
*/
public function getDefaultDriver()
{
return $this->app['config']['scout.tntsearch.tokenizer.driver'];
return $this->getConfig('driver');
}
}

0 comments on commit 0670037

Please sign in to comment.