我有一个索引:
from rest in docs
from prom in rest.RestPromotions
使用LuceneQuery查询时,由于索引创建的重复文档,TotalResults超出预期。 跳过的字段仅包含当前页面的跳过结果。
有没有办法获得截然不同的总结果?
文档类型如下:
{
"RestName": "Belini",
"RestID": 1275,
"SearchNotVisible": [
"Beliny",
"bellini"
],
"RegionID": 4,
"SubRegionID": 0,
"CityID": 172,
"AreaID": 5,
"AvgPriceID": 3,
"RestTypes": [
58
],
"FoodTypes": [
1,
16
],
"RestSpecials": [],
"RestProperties": [
4
],
"RestPromotions": [
{
"regionID": 4,
"cityID": 172,
"areaID": 0,
"KosherID": 0,
"foodTypeID": 16,
"restTypeID": 0,
"promotionNumber": 1,
"isFalsePromo": false
},
{
"regionID": 4,
"cityID": 172,
"areaID": 0,
"KosherID": 0,
"foodTypeID": 0,
"restTypeID": 0,
"promotionNumber": 1,
"isFalsePromo": false
},
{
"regionID": 4,
"cityID": 172,
"areaID": 0,
"KosherID": 0,
"foodTypeID": 1,
"restTypeID": 0,
"promotionNumber": 1,
"isFalsePromo": false
},
"isKosher": false,
"ReviewsScore": 3.709,
"ReviewsAmount": 408,
"Latitude": 32.060707,
"Longitude": 34.765018
}
在索引上执行LuceneQuery时:
from rest in docs
from prom in rest.RestPromotions
select new {RestID=rest.RestID,RestName=rest.RestName,PromoCityID=prom.cityID}
TotalResult大于查询返回的实际文档数量。 我知道这是因为索引所产生的重复文件。
我想知道的是,是否有选项可以获取特定LuceneQuery生成的实际数量的不同文档。
答案 0 :(得分:0)
将索引图更改为:
from rest in docs
select new
{
rest.RestName,
PromoCityID = rest.RestPromotions.Select(x=> x.cityID)
}
这将在一个索引条目中索引多个术语,而不是具有多个索引条目。您仍然可以像以前一样查询单个术语。但现在,当您查看统计数据时,TotalResults
将代表匹配的餐馆总数。