1
我已經在VB.NET網站中實現了SolrNet,它的工作原理完美,只有一個例外。我的結果對象可能會告訴我找到了10個匹配的「文檔」,但該集合僅包含9.在VB.NET中使用SolrNet時,查詢結果與NumFound不匹配
我的集合始終包含比NumFound屬性狀態少1的值。我已經直接通過我的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
請張貼一個失敗的測試......沒有任何詳細信息,所有我能說的是使用示例應用程序作爲參考。另外,爲什麼你的分類查詢中有管道? – 2012-03-20 02:19:07
我在Solr實例上使用的查詢字符串反映了我通過SolrNet庫發送的內容如下 – user1279273 2012-03-20 10:12:27
q = product_name:shirt OR product_description:shirt OR id:shirt&start = 0&rows = 12&facet = on&facet.field =品牌&fq =品牌:puma&facet.mincount = 1&stats = true&stats.field =賣價 我的分類查詢中有管道,因爲這是我處理屬於多個類別的產品的方式,類別字段包含管道分離列表的產品所屬的所有類別,然後我可以針對類別字段發出查詢,如「| 8878 |」獲得屬於8878類的所有產品。實際領域內容可以是「| 8854 | 8896 | 8878 | 8564 |」 – user1279273 2012-03-20 10:20:08