Вы можете прослушать событие поиска и запустить пользовательскую функцию, чтобы отфильтровать ваш набор данных, а затем изменить набор данных, который имеет ng-select. Вам нужно будет управлять повторным заполнением выпадающего списка, если ничего не ищется!
<ng-select (search)="onSearch($event)" [items]="data"></ng-select>
onSearch(e) {
// Do your custom filtering here to the total dataset and then reassign.
this.data = filtered_data;
}