Агрегирование MoreLikeThis результатов в RavenDB - PullRequest
1 голос
/ 22 марта 2012

Я пробовал набор MoreLikeThis, чтобы вернуть набор документов, упорядоченных по количеству совпадений в поле, называемом «задним числом», по сравнению с ключевым документом. Это все работает как ожидалось.

Но то, что я хотел бы сделать, это упорядочить по количеству совпадений 3 отдельных полей, сложенных вместе.

Пример записи будет:

var data = new Data{ 
     backyardigans = "Pablo Tasha Uniqua Tyrone Austin",
     engines = "Thomas Percy Henry Toby",
     pigs = "Daddy Peppa George Mummy Granny"
}; 

Если другой документ соответствует 1 заднему двору, 2 двигателям и 1 свинье, он получит оценку 4

Если бы другой документ соответствовал 2 задним дворам, 4 двигателям и 0 свиньям, он получил бы оценку 6

Эти агрегированные результаты будут полем, в котором мы упорядочим результаты, чтобы они возвращались 6,4 и т. Д.

Есть ли способ достичь этого с помощью пакета MoreLikeThis, пожалуйста?

1 Ответ

1 голос
/ 22 марта 2012

Это невозможно, для этого мы используем только частоту одного поля.

Это важно, потому что нам нужно сравнивать баллы на местах, и на самом деле невозможно сравнить их на глобальном уровне без учета значений по полям.

Обратите внимание, что это также ограничение в базовой реализации Lucene, поэтому мы ничего не можем с этим поделать.

...