Skip to content

Commit 01e0657

Browse files
committed
adding flush
1 parent e296a7f commit 01e0657

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"require": {
1111
"php": ">=7.0",
1212
"teamtnt/tntsearch": "1.4.*",
13-
"laravel/scout": "5.0.*",
13+
"laravel/scout": "6.*",
1414
"illuminate/bus": "~5.4",
1515
"illuminate/contracts": "~5.4",
1616
"illuminate/database": "~5.4",

src/Engines/TNTSearchEngine.php

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
namespace TeamTNT\Scout\Engines;
44

5-
use Laravel\Scout\Builder;
6-
use TeamTNT\TNTSearch\TNTSearch;
7-
use Laravel\Scout\Engines\Engine;
8-
use Illuminate\Support\Facades\DB;
95
use Illuminate\Database\Eloquent\Collection;
106
use Illuminate\Database\Eloquent\SoftDeletes;
7+
use Illuminate\Support\Facades\DB;
8+
use Laravel\Scout\Builder;
9+
use Laravel\Scout\Engines\Engine;
1110
use TeamTNT\TNTSearch\Exceptions\IndexNotFoundException;
11+
use TeamTNT\TNTSearch\TNTSearch;
1212

1313
class TNTSearchEngine extends Engine
1414
{
@@ -184,8 +184,8 @@ public function map(Builder $builder, $results, $model)
184184
$keys = collect($results['ids'])->values()->all();
185185

186186
$builder = $this->getBuilder($model);
187-
188-
if($this->builder->queryCallback){
187+
188+
if ($this->builder->queryCallback) {
189189
call_user_func($this->builder->queryCallback, $builder);
190190
}
191191

@@ -225,7 +225,7 @@ public function getBuilder($model)
225225

226226
$builder = $this->applyOrders($builder);
227227

228-
return $builder;
228+
return $builder;
229229
}
230230

231231
/**
@@ -279,16 +279,16 @@ public function initIndex($model)
279279
*/
280280
private function discardIdsFromResultSetByConstraints($builder, $searchResults)
281281
{
282-
$qualifiedKeyName = $builder->model->getQualifiedKeyName(); // tableName.id
283-
$subQualifiedKeyName = 'sub.' . $builder->model->getKeyName(); // sub.id
282+
$qualifiedKeyName = $builder->model->getQualifiedKeyName(); // tableName.id
283+
$subQualifiedKeyName = 'sub.'.$builder->model->getKeyName(); // sub.id
284284

285285
$sub = $this->getBuilder($builder->model)->whereIn(
286286
$qualifiedKeyName, $searchResults
287287
); // sub query for left join
288288

289289
$discardIds = $builder->model->newQuery()
290290
->select($qualifiedKeyName)
291-
->leftJoin(DB::raw('(' . $sub->getQuery()->toSql() .') as sub'), $subQualifiedKeyName, '=', $qualifiedKeyName)
291+
->leftJoin(DB::raw('('.$sub->getQuery()->toSql().') as sub'), $subQualifiedKeyName, '=', $qualifiedKeyName)
292292
->addBinding($sub->getQuery()->getBindings(), 'join')
293293
->whereIn($qualifiedKeyName, $searchResults)
294294
->whereNull($subQualifiedKeyName)
@@ -387,4 +387,19 @@ private function applyOrders($builder)
387387
return $builder->orderBy($column, $direction);
388388
}, $builder);
389389
}
390+
391+
/**
392+
* Flush all of the model's records from the engine.
393+
*
394+
* @param \Illuminate\Database\Eloquent\Model $model
395+
* @return void
396+
*/
397+
public function flush($model)
398+
{
399+
$indexName = $model->searchableAs();
400+
$pathToIndex = $this->tnt->config['storage']."/{$indexName}.index";
401+
if (file_exists($pathToIndex)) {
402+
unlink($pathToIndex);
403+
}
404+
}
390405
}

0 commit comments

Comments
 (0)