Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何配置Sitecore搜索以从搜索索引检索自定义值_Search_Lucene_Sitecore - Fatal编程技术网

Search 如何配置Sitecore搜索以从搜索索引检索自定义值

Search 如何配置Sitecore搜索以从搜索索引检索自定义值,search,lucene,sitecore,Search,Lucene,Sitecore,我使用AdvancedDatabaseCrawler作为搜索页面的基础。我已经配置了它,这样我就可以搜索我想要的东西,而且速度非常快。问题是,只要您想对搜索结果执行任何需要访问字段值的操作,性能就会大受影响 主搜索结果部分很好,因为即使有1000个搜索结果返回,我每页只显示10或20个结果,这意味着我只需要检索10或20个项目。然而,在侧边栏中,我列出了各种过滤选项,以及与每个过滤选项(易趣风格)相关联的编号或结果。为了检索这些过滤器选项,我根据搜索结果执行关系搜索。由于搜索结果只包含Skinn

我使用AdvancedDatabaseCrawler作为搜索页面的基础。我已经配置了它,这样我就可以搜索我想要的东西,而且速度非常快。问题是,只要您想对搜索结果执行任何需要访问字段值的操作,性能就会大受影响

主搜索结果部分很好,因为即使有1000个搜索结果返回,我每页只显示10或20个结果,这意味着我只需要检索10或20个项目。然而,在侧边栏中,我列出了各种过滤选项,以及与每个过滤选项(易趣风格)相关联的编号或结果。为了检索这些过滤器选项,我根据搜索结果执行关系搜索。由于搜索结果只包含SkinnyItems,因此必须对每个结果调用GetItem(),以获取实际的项目,从而获取我筛选所依据的值。换句话说,它将调用Database.GetItem(id)1000次!显然,这不是非常有效

我是不是遗漏了什么?有没有办法将Sitecore搜索配置为从搜索索引检索自定义值?如果我可以在索引中搜索值,为什么我不能同时检索它们?如果我不能,我还能如何处理结果而不从数据库中获取每个单独的项目


以下是我想要了解的功能的想法:

Klaus在SDN上回答:将facetting与ApacheSolr或类似工具结合使用


我目前已经解决了这个问题,为搜索结果集合中需要筛选或返回的每个字段定义了动态字段。这样我就可以实现所需的分面搜索,而无需从数据库中获取字段值。我假设通过添加动态字段,我们在重建索引时会受到性能的影响。但我可以接受

将来我们可能会考虑使用ApacheSolr这样的产品