Sitecore是否自动使用快速查询? [英] Does Sitecore use Fast Query automatically?

查看:20
本文介绍了Sitecore是否自动使用快速查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据Sitecore数据定义参考,版本6.4,第4.3.1节:

Sitecore使用 禁食技术成为可能。这可能会 为SQL数据库,如果 数据提供程序支持请求的 查询,或在Sitecore数据中 经理。

如果是这样,使用"fast:"语法有什么好处吗?在哪个版本中引入了自动技术选择?

更新 我想我想通了。Reqular Sitecore查询只有在没有谓词的情况下才能使用SQL Server。快速查询允许简单的谓词(例如*[@omefield=‘Somvalue’]),同时仍然使用SQL Server。

摘自Sitecore CMS 6.4数据定义参考(第4.3.4节):

SQL Server数据提供程序不 支持谓词( 方括起的搜索字符串 方括号:[@IsHidden!=‘1’])。

Sitecore CMS 6使用Sitecore Fast Query(4.2节):

本节介绍谓词 在Sitecore Fast中提供的 查询。谓词是 始终嵌入在方括号中。

Example: fast:/sitecore/content/Home/*[@Title = 'Welcome to Sitecore']  
结果:返回‘title’字段的值设置为‘Welcome to Sitecore’的项目。这个 在主页项目的子项中执行搜索。

推荐答案

从Sitecore查询项目有几种不同的方法:

  • Sitecore查询
  • 快速查询
  • Lucene

每种方法都有其优缺点。例如,Sitecore Query和Fast Query都对它们可以返回的项目数有限制。此限制是web.config中的Query.MaxItems设置。而Lucene则是它自己的野兽,它使用存储在磁盘上的搜索索引来访问项目。

在过滤查询中的项目方面,Sitecore查询是最灵活的,但是查询越复杂,运行时间就越长(这是一种概括)。比起使用.NET来过滤查询,进行更通用的查询通常更容易,比如linq。快速查询直接进入数据库进行查询,因此对过滤有一定的限制。它运行得更快,但您无法精确地确定要在查询中签入的内容。

Lucene是另一种方法,因为它使用搜索索引来查询内容和过滤。这需要预先进行额外的配置工作并维护搜索索引。

这可以帮助您决定采取哪种方法:

  • 100项或更少:Sitecore查询
  • 1000项或更少:快速查询
  • 1000+项:Lucene

我以前也曾就同一主题写过一篇博客文章:

这篇关于Sitecore是否自动使用快速查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆