Да и нет. Сфинкс по умолчанию делает ранжирование - и результаты располагаются лучше всего сначала. (но это можно изменить)
Но важным моментом здесь является «сопоставление» - соответствует ли запись запросу. (что немного отличается от задачи «ранжирования», которая дает оценку каждому матчу и обычно заказывает по ней)
Чтобы приблизиться, вам нужно использовать совпадение стилей "MATCH ANY". Что значит только одно слово. По умолчанию соответствует «ВСЕ» - нужны все слова. Также может эмулировать совпадение с любым с расширенным режимом совпадения, используя Quorum или запрос «ИЛИ».
... подробнее об этих терминах читайте в документации по sphinx.
Я сказал «закрыть», потому что сфинкс не даст вам последний результат в вашем примере. Потому что у него нет общих слов. Первые три имеют общее слово.
Возможно, вы думаете об опции "WITH EXPANSION" в полнотекстовом поиске mysql. Это сделает это. Сфинкс не имеет напрямую сопоставимой функции, поэтому его нужно было бы реализовать самостоятельно. (например, запустите захват «any qyery», 100 лучших результатов, определите общие слова (в вашем коде)) и сформируйте второй запрос к sphinx. использовать этот второй запрос в качестве результатов, показанных пользователю)
[сказав, что есть другой вариант, можно сформировать запрос, который соответствует всем документам, а затем просто полагаться на ранжирование, чтобы «совпадения» отображались в верхней части. Я не рекомендую это для общего поиска]