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)) {
|
if (!empty($query) && is_null($letter)) {
|
||||||
|
|
||||||
$results = $results
|
$results = $results
|
||||||
->where('name', 'like', "%{$query}%")
|
->whereRaw([
|
||||||
->orWhere('given_name', 'like', "%{$query}%")
|
'$text' => [
|
||||||
->orWhere('family_name', 'like', "%{$query}%")
|
'$search' => $query
|
||||||
->orWhere('alternate_names', 'like', "%{$query}%");
|
]
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_null($letter)) {
|
if (!is_null($letter)) {
|
||||||
|
@ -29,6 +29,24 @@ class CreatePeopleTable extends Migration
|
|||||||
$table->index('voice_acting_roles');
|
$table->index('voice_acting_roles');
|
||||||
$table->index('anime_staff_positions');
|
$table->index('anime_staff_positions');
|
||||||
$table->index('published_manga');
|
$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