0
我正在用EPiServer建立一個restaurantfinder網站,我正在使用EPiFind在網站上進行搜索。但我遇到了一個問題。我試圖在pagetree中面向頁面類型,儘管我只在一個特定的頁面類型中進行搜索。我的目標是能夠打印出頁面的標題。因此,如果我搜索瑞典的例子,那麼在頁面樹中的所有城市都應該在他們的名字中列出。Episerver找到方面
我的代碼:
if (query == null && tags == null && cities == null)
{
return View();
}
var q = SearchClient.Instance.Search<RestaurantPage>()
.For(query)
.TermsFacetFor(x => x.CityPage.HeadLine);
if (!string.IsNullOrWhiteSpace(cities))
{
q = q.Filter(x => x.HeadLine.MatchCaseInsensitive(cities));
}
var results = q.Select(x => new SearchHit
{
Title = x.HeadLine,
Url = x.LinkURL,
Tag = x.Tags,
Adress = x.Adress,
Latitude = x.Latitude,
Longitude = x.Longitude,
Image = x.RestaurantImage
}).GetResult();
ViewBag.Query = query;
ViewBag.Id = results.ProcessingInfo.ServerDuration;
ViewBag.Hits = results.TotalMatching;
var facets = new List<FacetResult>();
var testFacet = (TermsFacet)results.Facets["CityPage.HeadLine"];
var testLinks = new FacetResult("Cities", testFacet.Terms.Select(x => new FacetLink
{
Text = x.Term,
Count = x.Count,
}));
facets.Add(testLinks);
ViewBag.Filters = new List<FacetLink>();
if (!string.IsNullOrEmpty(tags))
{
ViewBag.Filters.Add(new FacetLink
{
Text = tags,
Url = Url.QueryBuilder(currentPage.ContentLink).AddSegment("?query=" + query).ToString()
});
}
return View(new SearchResult(results, query) {Facets = facets});
你沒有得到任何方面的一切,或者不是你期待的嗎? –
@TedNyberg我得到了一些方面,只是不包括在上面的代碼。 – Fredrik
我想說CityPage屬性(一個PageData對象?)沒有索引。我的猜測是你需要配置你的索引來明確地包含那個屬性,或者可能包含Headline屬性。 –