Как / почему эти Solr Queries дают разные результаты? - PullRequest
0 голосов
/ 10 ноября 2011

Я использую Apache Solr и запрашиваю индекс со схемой, имеющей текстовое поле PostBody, целое поле Userid и поле даты и времени на основе дерева tree MostRecentActivityDate.

Я пытаюсь применить увеличение времени запроса к моему запросу select так, чтобы более поздние сообщения были увеличены каким-то фактором, чтобы помочь в оценке. Мои ценности для этого в попытках иметь временную шкалу дней, а не лет, как во многих примерах повышения даты онлайн.

Следующие два запроса дают разные результаты, единственное, что отличается в них, - это то, где фактически размещается «код» для повышения (то есть до или после самих условных выражений поля). В моем тестировании я также заметил, что они оба дают разные результаты, когда нет {} повышающего кода, так что это не так, как если бы в одном случае его игнорировали.

Кто-нибудь может объяснить, почему они дают разные результаты? Спасибо!

{!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)} (PostBody:"timmy is great and that is a fact") AND !Userid=2

Vs.

(PostBody:"timmy is great and that is a fact") AND !Userid=2 {!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)}

1 Ответ

1 голос
/ 11 ноября 2011

Поскольку это будет очень специфично для ваших данных, лучший способ выяснить, что происходит, - включить Отладка запроса - через параметр debugQuery=on вашего поиска.Вот две ссылки, которые помогают объяснить результаты отладки.

...