Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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

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
Sitecore AdvancedDatabaseCrawler的优势/好处_Database_Search_Module_Sitecore_Web Crawler - Fatal编程技术网

Sitecore AdvancedDatabaseCrawler的优势/好处

Sitecore AdvancedDatabaseCrawler的优势/好处,database,search,module,sitecore,web-crawler,Database,Search,Module,Sitecore,Web Crawler,我试着使用Sitecore.Search名称空间,它似乎做了一些基本的工作。我现在正在评估Alex Shyba的AdvancedDatabaseCrawler模块。使用此模块而不是编写自己的爬虫程序和搜索功能有哪些优点 谢谢你的优点: 你不必写任何东西 它可以处理许多您甚至需要编写到查询Sitecore的代码,例如基本搜索、带字段级排序的基本搜索、字段级搜索、关系搜索(查找字段的GUID匹配)、多字段搜索、数字范围和日期范围搜索等 它使用逻辑运算符处理组合搜索 显示运行各种搜索类型的代码和前

我试着使用Sitecore.Search名称空间,它似乎做了一些基本的工作。我现在正在评估Alex Shyba的AdvancedDatabaseCrawler模块。使用此模块而不是编写自己的爬虫程序和搜索功能有哪些优点


谢谢你的优点:

  • 你不必写任何东西
  • 它可以处理许多您甚至需要编写到查询Sitecore的代码,例如基本搜索、带字段级排序的基本搜索、字段级搜索、关系搜索(查找字段的GUID匹配)、多字段搜索、数字范围和日期范围搜索等
  • 它使用逻辑运算符处理组合搜索
  • 显示运行各种搜索类型的代码和前端示例
缺点

  • 没有我能想到的,因为如果你发现了一个问题或一种扩展它的方法,你可以完全访问代码,并可以根据你的需要修改它。我以前为
    skinyitem
    类创建了
    GetHashCode()
    Equals()
    方法
首先,使用Lucene索引的“旧”方法非常简单,但不幸的是,它在Sitecore 6.5中被弃用了。 访问Lucene索引的“新”方式非常复杂,因为可能性是无穷的。Alex Shyba的实现是使用“新”方式的明智之处

请看这篇博文:

它由三部分组成,分别介绍如何配置AdvancedDatabaseCrawler、如何进行简单搜索以及如何进行多字段搜索。如果没有Alex的AdvancedDatabaseCrawler,这些任务将需要将近100行代码。使用AdvancedDatabaseCrawler,只需7行代码


因此,如果您需要索引解决方案,这就是要使用的解决方案。

我实现了它,并且已经看到了一些好处。我无法使用Sitecore.Search对日期字段进行排序,但该模块在对日期字段进行特殊索引的情况下工作得完美无缺。在编辑或发布项目时,您是否注意到缓存、发布和索引更新方面的任何问题?我只是担心索引可能不会自动更新,我可能不得不编写一些自定义内容来强制爬虫更新索引。请解释您的环境。你只有一个例子吗?不止一个,带1厘米和1张CD?多张CD?这些肯定有额外的配置,但我可以给你一些提示。有一个CM和3张CD。使用Lucene的页面部分将使用Sitecore缓存(因数据和查询字符串而异)。我们还将大量使用Lucene,以便将来对站点进行增强。这是一个很好的问题。它缓存数据项(显式数据源或上下文项)的最终HTML。如果HTML缓存存在后索引发生更改,则不会显示已更新的索引。一个选项是不缓存它,另一个选项是在最后一次索引更改数据时执行一些C#缓存(有点复杂)。