一个同事问我一个问题: 如果FAST Search for SharePoint 2010被full restore到了一个之前的时间点, 那么当FAST Search重新开始一个增量爬网的时候, 会发生什么? FAST Search会查看内容数据库并发现上一次爬网的记录并为新item或更改的item制作索引么? FAST Search会发现索引与现在内容的不一致么? 还是说它直接会再来一次full crawl?

 

Some Basics

===================

Fast Search for SharePoint 2010 contains several indexing connectors. They can be divided into three types:

· The Microsoft SharePoint Server 2010 indexing connectors and crawling framework (Content SSA)

· Federated search connectors

o Federated search connectors enable you to pass a query to a target system and display results returned from that system without actually crawling that content.

· The FAST Search Server 2010 for SharePoint specific indexing connectors

o FAST Search Web Crawler

o FAST Search JDBC Connector

o FAST Search Lotus Notes Connector

Based on the introduction, we can see only Content SSA and Specific indexing connectors crawl items.

 

How FAST Search for SharePoint crawl items?

====================

For specific indexing connectors, mostly they use checksum based change detection for incremental crawls. This means that if you restored FAST Search to a previous recovery point, the checksum will still be check if the item is changed from last crawl. One incremental crawl after the FAST restore, you will be using correct index for your users’ query. So, no impact on this type.

For Content SSA, we need to talk a little deep to explain.

For this type of connectors, crawl can be divided into two steps:

1. Gathering

2. Feed item to ‘filter’ component.

SharePoint 2010 and FAST Search for 2010 utilize the same process for gathering SharePoint internal content. What different is after the content has been got by the search engine, which component is used to process the item.

· For SharePoint Search, iFilters will be used.

· For FAST Search for SharePoint 2010, FAST Content Plug-in will feed the batch of gathered items to FAST Search pipeline via FAST Content Distributor where items are filtered and processed into an index.

 

Now we will focus on the gathering part.

During an Incremental Crawl, the Crawler will pass along a Change Log Cookie (that it received from the WFE on the previous crawl) to the WFE. This change log cookie contains GUID for applicable Content DB and a row ID from EventCache table.

With this row ID, WFE will look up the EventCache table and knows what items have been changed since the last crawl, and then response the crawler items needs to be crawled.

 

Imagine we have the following event sequence:

Ø Incremental crawl 1 -> FAST Search full backup -> ItemA changed -> Increment crawl 2 -> FAST Search full restore -> Incremental crawl 3

Incremental crawl 3 will not crawl ItemA. This will bring inconsistency.

Another thing to consider is, EventCache table will be cleaned by a SharePoint timer job. If the recovery point is from long time ago, this is another factor that might bring inconsistency.

 

解释一番之后, 结论如下:

SharePoint Site内容的index与实际内容可能会有不一致, 其他类型connector制作的索引应该没问题.

避免不一致的方式是在full restore之后来一次full crawl, 这样用还是可以用的, 全爬网之后, 就彻底没问题了.

 

Reference

==================

Full backup and restore (FAST Search Server 2010 for SharePoint)

http://technet.microsoft.com/en-us/library/ff460221(v=office.14).aspx#BKMK_FullRestore

SP2010 Search *Explained: Crawling

http://blogs.msdn.com/b/sharepoint_strategery/archive/2012/10/30/sp2010-search-explained-crawling.aspx

SharePoint 2010/2013: “Change Log “Timer Job is not cleaning up Expired entries in EventCache Table

http://blogs.msdn.com/b/spses/archive/2013/05/02/sharepoint-2010-2013-change-log-timer-job-is-not-cleaning-up-expired-entries-in-eventcache-table.aspx

Plan for crawling and federation (FAST Search Server 2010 for SharePoint)

http://technet.microsoft.com/en-us/library/ff383278.aspx

Backup and restore of FAST Search for SharePoint 2010的更多相关文章

  1. 分享微软官方Demo用的SharePoint 2010, Exchange 2010, Lync 2010虚拟机

    微软官方有一套专门用于SharePoint 2010, Exchange 2010 Demo的虚拟机:SharePoint 2010: Information Worker Demonstration ...

  2. Searching External Data in SharePoint 2010 Using Business Connectivity Services

    from:http://blogs.msdn.com/b/ericwhite/archive/2010/04/28/searching-external-data-in-sharepoint-2010 ...

  3. SharePoint 2010 搜索结果没有显示部分文件

    Why SharePoint 2010 search does not show some results?   SharePoint 2010 search is better than ever ...

  4. TFS Express backup and restore

    When we setup source control server, we should always make a backup and restore plan for it. This ar ...

  5. 转:db2 backup 及 restore

    db2 backup 及 restore 2011-06-21 18:12:20|  分类: AIX |举报 |字号 订阅     两个问题: db2=>list applications db ...

  6. How to: Add SharePoint 2010 Search Web Parts to Web Part Gallery for Upgraded Site Collections

    When you upgrade to Microsoft SharePoint Server 2010, some of the new SharePoint Enterprise Search W ...

  7. Science论文"Clustering by fast search and find of density peaks"学习笔记

    "Clustering by fast search and find of density peaks"是今年6月份在<Science>期刊上发表的的一篇论文,论文中 ...

  8. 第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)

    在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来 ...

  9. [转]Configure Network Drive Visible for SQL Server During Backup and Restore Using SSMS

    本文转自:https://mytechmantra.com/LearnSQLServer/Configure-Network-Drive-Visible-for-SQL-Server-During-B ...

随机推荐

  1. 【WPF】Behavior的使用

    如何将一个行为附加到某个元素上呢?我们可以通过自定义一个Behavior! 我们首先看一下IAttachedObject接口,Behavior默认继承之这个接口 // 摘要: // 供可以附加到另一个 ...

  2. Socket 编程(二)

    首先,看主界面 点击链接按钮,开始建立与服务端的连接 Socket socket = null; private void btnStart_Click(object sender, EventArg ...

  3. OOD沉思录 --- 继承

    一,继承只应被用来为特化层次结构建模 实际上也就是要满足LSP原则,水果类<-榴莲的继承是特化   二,派生类必须知道他们的基类,基类不应当知道他们的派生类   复用的前提   三,基类中的所有 ...

  4. JAVA编程思想读书笔记(一)--面向对象

    第二章 一切都是对象 No1: 程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: (1) 寄存器.这是最快的保存区域,因为它位于和其他所有保存 ...

  5. 解决引入keras后出现的Using TensorFlow backend的错误

    在引入头文件之后,加入 import os os.environ['KERAS_BACKEND']='tensorflow' 就可以完美解决这个问题

  6. golang中接口interface和struct结构类的分析

    再golang中,我们要充分理解interface和struct这两种数据类型.为此,我们需要优先理解type的作用. type是golang语言中定义数据类型的唯一关键字.对于type中的匿名成员和 ...

  7. 在phpWeChat里生成一个临时二维码(非微信二维码)

    phpWeChat作为支持Pc+H5开发的管理系统,内置一套二维码生成API,访问地址: 您的域名/api/qrcode/index.php?data=二维码数据 以下为使用示例 使用时有一点需要注意 ...

  8. export导出.xls时,在火狐的情况下出现表名乱码的情况的解决方案

    response.setContentType("application/octet-stream; charset=utf-8");fileName = exportDataDt ...

  9. TCP/IP——链路层简记

    在TCP/IP协议族中链路层的主要目的有三个: 1,为IP模块发送和接受IP数据报. 2,为ARP模块发送ARP请求和接受ARP应答. 3,为RARP模块发送RARP请求和接受RARP应答. 链路层包 ...

  10. 【模式匹配】更快的Boyer

    1. 引言 前一篇中介绍了字符串KMP算法,其利用失配时已匹配的字符信息,以确定下一次匹配时模式串的起始位置.本文所要介绍的Boyer-Moore算法是一种比KMP更快的字符串匹配算法,它到底是怎么快 ...