Вы можете отсортировать функцию, только если она возвращает одно значение для каждого документа. Вы определенно не можете сортировать по многозначному полю или любому полю, которое является токенизированным. Похоже, вам понадобится функция, которая возвращает «аэропорт», если поле содержит «аэропорт» (даже если оно содержит «вокзал») и «вокзал», если оно содержит «вокзал», но не «аэропорт», а затем сортировать на этом.
Другим вариантом будет обработать это во время индекса. Добавьте поле с именем "airport_train_station_sort", которое возвращает 1, если поле содержит "airport", 2, если поле содержит "train station", но НЕ airport, и 3, если оно не содержит ни того, ни другого. Затем просто отсортируйте это поле.