Средство ранжирования Sphinx, использующее близость, использует слегка модифицированный ранкер BM25 (статистический мешок слов) + формула совпадения с самой длинной словом-подстрокой, что сильно благоприятствует последнему, в то время как Solr использует некоторую другую статистическую функцию ранжирования (не BM25, но похожую).+ усиление при желании для слов биграммы (это похоже на подход LWS).Я думаю, что оба они не моделируют человеческий взгляд на релевантность, поэтому релевантность не падает с обрыва, когда слова в ответе не обязательно соседствуют или имеют одинаковый порядок.
Простые примеры:
Запрос: Боб Джонс
Тело:.,,,Джонс, Боб.,,,(выглядит актуально для меня, но это будет только к статистике)
-или-
Body:.,,,Боб MiddleName Джонс.,,,(то же самое)
Я знаю, что это обходится дорого, но я не могу быть единственным, кто заметил, что, по сути, и Solr, и Sphinx вернутся к статистическому рейтингу мешка слов, если словане в порядке или разделены словом, которое в некоторых случаях может даже быть стоп-словом.
Мысли?Что если я захочу присвоить любому из вышеперечисленных случаев более высокие значения, чем те, где слова просто появляются где-то в документе?Или я не прав и Солр или Сфинкс это делают?