我們剛剛將我們的7.2升級到了使用lucene搜索提供程序的8.1。該網站嚴重依賴lucene搜索和索引文章,以便它可以顯示爲列表。Sitecore 8.1:將Lucene搜索轉換爲Solr的步驟
我們已經有了SOLR實例設置。我們需要將這個Lucene轉換爲SOLR。如果我在下面獲得方向,將欣賞:
我們如何將自定義計算的lucene索引和字段轉換爲Solr?
除了CORES和端點上的配置之外,是否有任何代碼更改等,我們需要注意?
索引重建事件如何根據SOLR工作。他們(CD)是否都試圖構建一次或依次構建或只構建一個觸發器。
UPDATE:
我切換到SOLR。我可以重建所有的CORES和web_index顯示11K文件。但是該頁面不會返回任何結果。下面是代碼片段,感謝如果我能幫助我做錯什麼。這是工作的罰款使用Lucene:
public IEnumerable<Article> GetArticles(Sitecore.Data.ID categoryId)
{
List<Article> articles = null;
var home = _sitecoreService.GetItem<Sitecore.Data.Items.Item>(System.Guid.Parse(ItemIds.PageIds.Home));
var index = ContentSearchManager.GetIndex(new SitecoreIndexableItem(home));
using (var context = index.CreateSearchContext(SearchSecurityOptions.DisableSecurityCheck))
{
var query = context.GetQueryable<ArticleSearchResultItem>().Filter(item => item.Category == categoryId);
var results = query.GetResults();
articles = new List<Article>();
foreach (var hit in results.Hits)
{
var article = _sitecoreService.GetItem<Article>(new Sitecore.Data.ID(hit.Document.Id).ToGuid());
if (article != null)
{
if (article.ArticlePage != null && !article.ArticlePage.HideInNavigation)
{
articles.Add(article);
}
}
}
}
return articles;
}
好總結!字段映射也可能需要修改,以便正確執行詞幹分析。當使用動態字段時,它們通常在Solr中被命名爲「mystring_s」,「myint_i」等,因此[IndexField]屬性也可能需要修改。 – mikaelnet
好點 - 我會更新我的答案:) –
'[IndexField]'屬性應該沒問題。 Sitecore API會將後綴追加到字段名稱上。 –