Skip to content

Commit 984ab4c

Browse files
committed
support for tntsearch 4
1 parent 93bd3fb commit 984ab4c

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

src/Engines/TNTSearchEngine.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public function update($models)
5757
$index = $this->tnt->getIndex();
5858
$index->setPrimaryKey($models->first()->getKeyName());
5959

60-
$index->indexBeginTransaction();
6160
$models->each(function ($model) use ($index) {
6261
$array = $model->toSearchableArray();
6362

@@ -71,7 +70,6 @@ public function update($models)
7170
$index->insert($array);
7271
}
7372
});
74-
$index->indexEndTransaction();
7573
}
7674

7775
/**
@@ -317,7 +315,13 @@ public function initIndex($model)
317315
{
318316
$indexName = $model->searchableAs();
319317

320-
if (!file_exists($this->tnt->config['storage']."/{$indexName}.index")) {
318+
if ($this->tnt->config['engine'] == "TeamTNT\TNTSearch\Engines\RedisEngine") {
319+
$indexer->setDatabaseHandle($model->getConnection()->getPdo());
320+
$indexer->setPrimaryKey($model->getKeyName());
321+
return;
322+
}
323+
324+
if (!file_exists($this->tnt->config['storage'] . "/{$indexName}.index")) {
321325
$indexer = $this->tnt->createIndex("$indexName.index");
322326
$indexer->setDatabaseHandle($model->getConnection()->getPdo());
323327
$indexer->setPrimaryKey($model->getKeyName());
@@ -342,15 +346,15 @@ public function initIndex($model)
342346
private function discardIdsFromResultSetByConstraints($builder, $searchResults)
343347
{
344348
$qualifiedKeyName = $builder->model->getQualifiedKeyName(); // tableName.id
345-
$subQualifiedKeyName = 'sub.'.$builder->model->getKeyName(); // sub.id
349+
$subQualifiedKeyName = 'sub.' . $builder->model->getKeyName(); // sub.id
346350

347351
$sub = $this->getBuilder($builder->model)->whereIn(
348352
$qualifiedKeyName, $searchResults
349353
); // sub query for left join
350354

351355
$discardIds = $builder->model->newQuery()
352356
->select($qualifiedKeyName)
353-
->leftJoin(DB::raw('('.$sub->getQuery()->toSql().') as '.$builder->model->getConnection()->getTablePrefix().'sub'), $subQualifiedKeyName, '=', $qualifiedKeyName)
357+
->leftJoin(DB::raw('(' . $sub->getQuery()->toSql() . ') as ' . $builder->model->getConnection()->getTablePrefix() . 'sub'), $subQualifiedKeyName, '=', $qualifiedKeyName)
354358
->addBinding($sub->getQuery()->getBindings(), 'join')
355359
->whereIn($qualifiedKeyName, $searchResults)
356360
->whereNull($subQualifiedKeyName)
@@ -459,13 +463,12 @@ private function applyOrders($builder)
459463
public function flush($model)
460464
{
461465
$indexName = $model->searchableAs();
462-
$pathToIndex = $this->tnt->config['storage']."/{$indexName}.index";
466+
$pathToIndex = $this->tnt->config['storage'] . "/{$indexName}.index";
463467
if (file_exists($pathToIndex)) {
464468
unlink($pathToIndex);
465469
}
466470
}
467471

468-
469472
/**
470473
* Create a search index.
471474
*

src/TNTSearchScoutServiceProvider.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<?php namespace TeamTNT\Scout;
22

3-
use TeamTNT\Scout\Console\StatusCommand;
4-
use TeamTNT\TNTSearch\TNTSearch;
5-
use Laravel\Scout\EngineManager;
6-
use Laravel\Scout\Builder;
73
use Illuminate\Support\ServiceProvider;
4+
use Laravel\Scout\Builder;
5+
use Laravel\Scout\EngineManager;
86
use TeamTNT\Scout\Console\ImportCommand;
7+
use TeamTNT\Scout\Console\StatusCommand;
98
use TeamTNT\Scout\Engines\TNTSearchEngine;
9+
use TeamTNT\TNTSearch\TNTSearch;
1010

1111
class TNTSearchScoutServiceProvider extends ServiceProvider
1212
{
@@ -40,23 +40,23 @@ public function boot()
4040
]);
4141
}
4242

43-
Builder::macro('constrain', function($constraints) {
43+
Builder::macro('constrain', function ($constraints) {
4444
$this->constraints = $constraints;
4545
return $this;
4646
});
4747
}
4848

4949
protected function setFuzziness($tnt)
5050
{
51-
$tnt->fuzziness = config('scout.tntsearch.fuzziness', $tnt->fuzziness);
52-
$tnt->fuzzy_distance = config('scout.tntsearch.fuzzy.distance', $tnt->fuzzy_distance);
53-
$tnt->fuzzy_prefix_length = config('scout.tntsearch.fuzzy.prefix_length', $tnt->fuzzy_prefix_length);
54-
$tnt->fuzzy_max_expansions = config('scout.tntsearch.fuzzy.max_expansions', $tnt->fuzzy_max_expansions);
55-
$tnt->fuzzy_no_limit = config('scout.tntsearch.fuzzy.no_limit', $tnt->fuzzy_no_limit);
51+
$tnt->setFuzziness(config('scout.tntsearch.fuzziness', $tnt->getFuzziness()));
52+
$tnt->setFuzzyDistance(config('scout.tntsearch.fuzzy.distance', $tnt->getFuzzyDistance()));
53+
$tnt->setFuzzyPrefixLength(config('scout.tntsearch.fuzzy.prefix_length', $tnt->getFuzzyPrefixLength()));
54+
$tnt->setFuzzyMaxExpansions(config('scout.tntsearch.fuzzy.max_expansions', $tnt->getFuzzyMaxExpansions()));
55+
$tnt->setFuzzyNoLimit(config('scout.tntsearch.fuzzy.no_limit', $tnt->getFuzzyNoLimit()));
5656
}
5757

5858
protected function setAsYouType($tnt)
5959
{
60-
$tnt->asYouType = config('scout.tntsearch.asYouType', $tnt->asYouType);
60+
$tnt->setAsYouType(config('scout.tntsearch.asYouType', $tnt->getAsYouType()));
6161
}
6262
}

0 commit comments

Comments
 (0)