我有一個索引正在生成完全正常(可以瀏覽所有創建的項目通過盧克)。在Luke中做了一個查詢,甚至設法返回結果 - 在C#中的下面的代碼中實現,但不返回。有什麼明顯的,我失蹤了。Lucene在Sitecore中搜索;沒有結果返回
totalResults = 0;
using (var context = ContentSearchManager.GetIndex("custom_search_index").CreateSearchContext())
{
var filterPredicate = PredicateBuilder.True<SearchItem>();
var termPredicate = PredicateBuilder.False<SearchItem>();
termPredicate = termPredicate
.Or(p => p.Name.Like(keyword, 0.75f)).Boost(2.0f)
.Or(p => p.Excerpt.Like(keyword))
.Or(p => p.SearchTags.Like(keyword))
.Or(p => p.HtmlContent.Like(keyword));
var predicate = filterPredicate.And(termPredicate);
var query = context.GetQueryable<SearchItem>().Where(predicate);
var results = query.Page(page, itemsPerPage).GetResults();
totalResults = results.TotalSearchResults;
var result = results.Hits.Select(h => GetPage(h.Document)).ToArray();
return result;
}
在Search.Log
,我發現了以下打
ExecuteQueryAgainstLucene(custom_search_index):_name:20世紀80年代〜0.75摘錄:1980 searchtags:20世紀80年代htmlcontent:1980 - 過濾器:
如果我在盧克運行'_name:1980s〜0.75節選:20世紀80年代searchtags:20世紀80年代htmlcontent:20世紀80年代',我確實得到了一個結果!
可以肯定的是,您是否在相同的自定義索引上使用了Luke,即'custom_search_index'? 'totalResults'也是0,'GetPage()'函數返回什麼? –
是在兩個實例中使用相同的索引。 GetPage()將項目映射到Sitecore項目以獲取更多詳細信息。 – Daniel
問題只與'80年代'有關嗎?你嘗試過使用字母查詢嗎? –