mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
improve people query and indexing
This commit is contained in:
parent
afa3b64eba
commit
6e9b534ccf
@ -34,10 +34,11 @@ class SearchQueryBuilderPeople implements SearchQueryBuilderInterface
|
||||
if (!empty($query) && is_null($letter)) {
|
||||
|
||||
$results = $results
|
||||
->where('name', 'like', "%{$query}%")
|
||||
->orWhere('given_name', 'like', "%{$query}%")
|
||||
->orWhere('family_name', 'like', "%{$query}%")
|
||||
->orWhere('alternate_names', 'like', "%{$query}%");
|
||||
->whereRaw([
|
||||
'$text' => [
|
||||
'$search' => $query
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
if (!is_null($letter)) {
|
||||
|
@ -29,6 +29,24 @@ class CreatePeopleTable extends Migration
|
||||
$table->index('voice_acting_roles');
|
||||
$table->index('anime_staff_positions');
|
||||
$table->index('published_manga');
|
||||
$table->index([
|
||||
'name' => 'text',
|
||||
'given_name' => 'text',
|
||||
'family_name' => 'text',
|
||||
'alternate_names' => 'text',
|
||||
],
|
||||
'people_search_index',
|
||||
null,
|
||||
[
|
||||
'weights' => [
|
||||
'name' => 50,
|
||||
'given_name' => 10,
|
||||
'family_name' => 10,
|
||||
'alternate_names' => 1
|
||||
],
|
||||
'name' => 'people_search_index'
|
||||
]
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user