none
使用QueryWebService执行FAST搜索的时候,如何获得总的匹配条数? RRS feed

答案

  • Hi OnLearningCsharp,

    利用查询优化,可以使用为一个查询结果计算的聚合统计数据来优化该查询结果。这通常用于与已编制索引的项(例如,项中出现的创建日期、作者和人名)关联的元数据。通过使用优化选项,可以优化您的查询以仅显示在特定时间段内创建的项或仅显示引用了给定人员的项。

    FAST Search Server 2010 for SharePoint 支持两种类型的查询优化器:

    • 深入优化器  查询优化基于一个搜索查询的所有结果的托管属性统计信息的聚合。索引器将创建在查询匹配过程中使用的聚合数据。使用此类查询优化器的好处是,优化选项将反映与查询匹配的所有项。通常,将以使用此模式,但定义多个深入优化器可能会大大影响查询匹配组件中的内存使用率。

      如果您需要准备索引数据结构以进行深入优化,但不希望为查询评估启用此功能,请考虑将 RefinementType 属性设置为 LatentRefinement。在使用此选项时,不会将深入优化所需的数据结构加载到主内存中,因此不会影响查询评估的性能。稍后,可将该设置更改为 DeepRefinementEnabled 以启用此功能。在这种情况下,更改将立即生效(无需重新为项编制索引)。

    • 浅表优化器  查询优化基于对一个搜索查询的前 50 个结果的托管属性统计信息的聚合。结果处理过程中会创建优化结果数据。由于优化仅限于最靠前的匹配结果,因此,您可能无法找到查询结果中隐藏较深的结果。但是,此优化选项不影响索引过程,因此可在启用该选项后立即应用它。

      浅表优化器会大大影响查询处理节点的性能,并会降低查询性能。


    请仔细阅读下面的官方文档:
    http://msdn.microsoft.com/zh-cn/library/ff464344.aspx

    Thanks,
    Lhan Han


    2012年3月16日 3:36
    版主

全部回复

  • Hi OnLearningCsharp,

    当使用 QueryEx 查询 Web Services 方法时,返回的数据集将包含一个名为RefinementResults的数据表。这个返回数据表包含一个名为RefinementCount的列,它的值就是查询结果返回的条数。
    详细请参考:http://msdn.microsoft.com/en-us/library/gg984546.aspx
    想获取更多信息,请浏览下面的链接:
    http://msdn.microsoft.com/en-us/library/ee872313.aspx
    http://msdn.microsoft.com/en-us/library/ff394628.aspx
    https://fastforsharepoint.codeplex.com/

    Thanks,
    Lhan Han
    2012年3月15日 16:12
    版主
  • 这里有点不确定性啊。按照MSDN的说法,只有“深入优化”才会返回所有搜索结果的聚合统计,使用“浅表优化”默认返回前50条匹配项的聚合统计。那么如何指定深入优化和浅表优化呢?

    On Learning Csharp.

    2012年3月16日 0:47
  • Hi OnLearningCsharp,

    利用查询优化,可以使用为一个查询结果计算的聚合统计数据来优化该查询结果。这通常用于与已编制索引的项(例如,项中出现的创建日期、作者和人名)关联的元数据。通过使用优化选项,可以优化您的查询以仅显示在特定时间段内创建的项或仅显示引用了给定人员的项。

    FAST Search Server 2010 for SharePoint 支持两种类型的查询优化器:

    • 深入优化器  查询优化基于一个搜索查询的所有结果的托管属性统计信息的聚合。索引器将创建在查询匹配过程中使用的聚合数据。使用此类查询优化器的好处是,优化选项将反映与查询匹配的所有项。通常,将以使用此模式,但定义多个深入优化器可能会大大影响查询匹配组件中的内存使用率。

      如果您需要准备索引数据结构以进行深入优化,但不希望为查询评估启用此功能,请考虑将 RefinementType 属性设置为 LatentRefinement。在使用此选项时,不会将深入优化所需的数据结构加载到主内存中,因此不会影响查询评估的性能。稍后,可将该设置更改为 DeepRefinementEnabled 以启用此功能。在这种情况下,更改将立即生效(无需重新为项编制索引)。

    • 浅表优化器  查询优化基于对一个搜索查询的前 50 个结果的托管属性统计信息的聚合。结果处理过程中会创建优化结果数据。由于优化仅限于最靠前的匹配结果,因此,您可能无法找到查询结果中隐藏较深的结果。但是,此优化选项不影响索引过程,因此可在启用该选项后立即应用它。

      浅表优化器会大大影响查询处理节点的性能,并会降低查询性能。


    请仔细阅读下面的官方文档:
    http://msdn.microsoft.com/zh-cn/library/ff464344.aspx

    Thanks,
    Lhan Han


    2012年3月16日 3:36
    版主
  • 虽然还有疑问,但是不明确,以后再发贴。谢谢!

    On Learning Csharp.

    2012年3月20日 0:57