В ArangoDB я использую представление поиска, которое сортирует результаты, используя BM25 , что-то вроде:
FOR doc IN someView
SEARCH ANALYZER(doc.description == 'foo', 'text_en')
SORT BM25(doc)
RETURN doc
Это только выполняет поиск по полному слову (т.е. не будет соответствовать документамсодержащий, например, "foot", "a football"), поэтому я хотел бы вместо этого использовать поиск по префиксу слова.
Я знаю, что это можно сделать с помощью индексов FULLTEXT, например:
FOR doc IN FULLTEXT(someCollection, "description", "prefix:foo")
RETURN doc
но тогда я теряю сортировку по релевантности.
Есть ли способ объединить оба из них, чтобы я мог выполнить частичное сопоставление слов, но также получить результаты, упорядоченные по релевантности?