У меня есть solr-индекс, доступ к которому осуществляется с помощью SolrNet, и я хотел бы получить индекс (позицию) конкретного документа в результатах, не возвращая весь набор результатов.Результаты поиска Solr и получение позиции документа
Подробнее ... запрос возвращает ~ 30 000 документов и упорядочивается целым полем. Уникальное ключевое поле содержит Guid, и я хотел бы найти, где в результатах конкретный документ, основанный на уникальном ключе, только возвращая первые 10 результатов.
Этот индекс был первоначально реализован в простой старой Lucene, и эта задача была достигнута с помощью двух запросов: одна для получения идентификатора документа lucene документа, о котором я хочу знать, а затем второй, который возвращает весь набор результатов. Затем я могу использовать идентификатор документа, чтобы найти, где документ отображается в полном наборе результатов, но затем только перечислять документы для первого. 10.
Есть ли способ достичь того, что я получаю после Solr, не возвращаясь все 30000 результатов (даже ограничение этого на Guid только кажется слишком медленным)?
Благодаря
Что вы хотите достичь этим? Какова основная проблема? –
Идентификаторы Lucene doc являются деталями реализации, Solr не раскрывает их. –
Результаты представляют собой разбитый список пользователей, каждый из которых имеет числовое поле «точки». Результаты должны быть упорядочены по этому полю «points», и тогда мне нужно знать, в какой позиции пользователь X появляется в результатах. Поэтому над списком с разбивкой по страницам я могу отобразить «Ты на третьем месте» или «Ты на 321-м месте». Если текущий пользователь находится на первой странице результатов отлично, но проблема возникает, если это не так. Благодарю. – robinbetts