Сортировка результатов поиска путем взвешивания определенных элементов - PullRequest
3 голосов
/ 01 октября 2010

У меня есть запрос solr, который просто возвращает самые последние элементы в индексе. Тем не менее, я пытаюсь по желанию, если категории передаются, иметь ли это поле категории, взвешенное так, чтобы при наличии совпадений для поля категории они были взвешены выше, но при этом отображались те, у которых категории отсутствуют.

поэтому структура документа выглядит примерно так:

{id:1, title:"sometitle", category:['cat1','cat2']},{id:1, title:"sometitle", category:[]}

мой общий запрос выглядит примерно так:

title:*

но если категории передаются, я бы сделал тот же заголовок: * query, но я бы хотел, чтобы результаты сортировались так, чтобы те результаты с полями категорий, которые соответствуют переданным категориям, были взвешены выше

Я пробовал повысить запрос (bq), но это не сработало (что имеет смысл, потому что мой запрос должен вернуть все), и я сортирую первичную по счету и выполняю вторичную сортировку в поле «создан»

1 Ответ

3 голосов
/ 06 октября 2010

Если я правильно понимаю ваш вопрос, вы хотите, чтобы некоторые документы оценивались выше независимо от вашего запроса , верно?Те документы, в которых есть категории, должны быть лучше, чем те, у которых нет категорий?

Если это то, что вам нужно, см. Как повысить оценку для определенных документов? .

В качестве альтернативы, вы можете просить что-то повысить, только если вы запрашиваете их.Ваш запрос должен быть

+(title:"title to search for") category:"categories to boost"

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

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