Я реализовал SolrNet на веб-сайте VB.NET и отлично работает с одним исключением. Объект моих результатов может сказать мне, что найдено 10 соответствующих «документов», но коллекция содержит только 9.Результаты запроса не соответствуют NumFound при использовании SolrNet с VB.NET
Моя коллекция всегда содержит 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
Пожалуйста, пост неисправного тест ... без каких-либо дополнительной информации все, что я могу скажем, использовать образец приложения в качестве ссылки. Кроме того, почему в вашем запросе категории есть трубы? –
Строка запроса, которую я использую в моем экземпляре Solr, чтобы отразить то, что я отправляю через библиотеку SolrNet, выглядит следующим образом: – user1279273
q = product_name: shirt OR product_description: shirt OR id: shirt & start = 0 & rows = 12 & facet = on & facet.field = brand & fq = brand: puma & facet.mincount = 1 & stats = true & stats.field = sales_price В моей категории запросов есть трубы, так как я имел дело с продуктом, принадлежащим более чем одной категории, поле категории содержит разделенный по трубам список всех категорий, к которым принадлежит продукт, и затем я могу выдать запрос в поле категории так: «| 8878 |» для получения всех продуктов, относящихся к категории 8878. Фактическое полевое содержимое может быть «| 8854 | 8896 | 8878 | 8564 |» – user1279273