Sitecore&;使用NGram自动完成Solr搜索

Sitecore&;使用NGram自动完成Solr搜索,solr,sitecore,sitecore8,Solr,Sitecore,Sitecore8,我找到了。如何为sitecore 7使用NGram设置自动完成。 我想重复一遍,但我对某些部分感到困惑: 永远不会调用的IComputedIndexField实现。我在Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.config中设置了它,如下所示: MyLib.AutoCompleteTitle,MyLib 与示例不同的只有一个是读取属性值: 返回项。字段[“Title”]。值; 2将配置添加到schema.xml-fieldT

我找到了。如何为sitecore 7使用NGram设置自动完成。 我想重复一遍,但我对某些部分感到困惑:

永远不会调用的IComputedIndexField实现。我在Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.config中设置了它,如下所示:


MyLib.AutoCompleteTitle,MyLib
与示例不同的只有一个是读取属性值:

返回项。字段[“Title”]。值;
2将配置添加到schema.xml-fieldType name=“auto_complete”代码:


3重新启动Solr并重建sitecore索引

4我对搜索时应该使用的属性名称感到困惑(看起来像是IComputedIndexField的设置)

使用(var context=ContentSearchManager.GetIndex(\u searchIndexName.CreateSearchContext())
{
var dataQuery=context.GetQueryable()。其中(i=>i[“titlesearch_ac”]==searchString);
返回数据查询;
}

没有任何错误,但我无法获得自动完成的结果….

请仔细检查您是否在正确的位置声明了计算字段-应将其添加到顶部有
raw:AddcomputedIndexField
的部分


Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor,Sitecore.ContentSearch
属性名
(“titlesearch_ac”)
应该是索引中字段的名称

只是一个旁注-您可以实现自动完成只需使用Solr。更多信息请点击此处:


是的,我在你回答之前就做了。无论如何,谢谢你。