Результаты запросов не соответствуют NumFound при использовании SolrNet с VB.NET - PullRequest
1 голос
/ 19 марта 2012

Я реализовал SolrNet на веб-сайте VB.NET, и он отлично работает за одним исключением. Мой объект результатов может сказать мне, что найдено 10 подходящих "документов", но коллекция содержит только 9.

Моя коллекция всегда содержит на 1 меньше, чем состояния свойства NumFound. Я выполнял запросы напрямую через мой экземпляр Solr и знаю, что свойство NumFound отражает правильное значение. Изучив возвращенные документы, я вижу, что первый документ в каждом наборе результатов отсутствует в моей коллекции, т. Е. В позиции 0.

Это похоже на проблему, связанную с нулевой индексированной коллекцией.

Я не вижу, что я делаю что-то не так, и подозреваю, что это ошибка. Кто-нибудь еще испытывал это, или вы можете подсказать, где я ошибся?

Исходный код выглядит следующим образом

Private Prods As New SolrQueryResults(Of BLL.solrProduct)

Dim solr As ISolrOperations(Of BLL.solrProduct) = ServiceLocator.Current.GetInstance(Of ISolrOperations(Of BLL.solrProduct))() 

Dim SolrQueryOptions As New SolrNet.Commands.Parameters.QueryOptions() With {.Stats = New StatsParameters(), .Start = PagingCurrent, .Rows = PagingSize, .Facet = New FacetParameters() With { _ 
.MinCount = 1, .Queries = New SolrNet.ISolrFacetQuery() {New SolrFacetFieldQuery("brand")}}}  

SolrQueryOptions.Stats.AddField("selling_price")

SolrQueryOptions.FilterQueries.Add(New SolrQueryByField("brand", "puma"))

Prods = solr.Query("shirt", SolrQueryOptions)

PagingTotal = Prods.NumFound    'This returns 10
lv_prods.DataSource = Prods
lv_prods.DataBind()             'This renders 9 items

1 Ответ

4 голосов
/ 22 марта 2012

Разбиение на Solr начинается с нуля, т. Е. Первый элемент соответствует Start = 0

...