如何使用新的 Sitecore.Search API 进行排序/过滤

2023-11-26

我找不到任何使用新的 Sitecore.Search API 进行排序和过滤的方法。 Lucene提供了以下方法:

Search(Query query, Filter filter)
Search(Query query, Sort sort)
Search(Query query, Filter filter, Sort sort)

但我不认为 Sitecore.Search API 公开了这些功能。我错过了什么吗?有人可以解释一下如何使用新的 Sitecore.Search API 执行过滤和排序吗?或者我需要使用包装好的Searcher.Search(Query, Sort)为了达成这个?

我正在使用 Sitecore 6.5。

Thanks.


您可以扩展 IndexSearchContext 以具有接受 Lucene.Net.Search.Sort 对象的方法。我的一位团队成员解决了这个问题,而且非常干净。

public class SortableIndexSearchContext : IndexSearchContext 
{ 
public SortableIndexSearchContext(ILuceneIndex index) 
{ 
Initialize(index, true); 
} 
public SearchHits Search(Query query, Sort sort) 
{ 
return Search(query, SearchContext.Empty, sort); 
} 
public SearchHits Search(PreparedQuery query, Sort sort) 
{ 
return new SearchHits(Searcher.Search(query.Query, sort)); 
} 
public SearchHits Search(QueryBase query, Sort sort) 
{ 
return Search(query, SearchContext.Empty, sort); 
} 
public SearchHits Search(string query, Sort sort) 
{ 
return Search(query, SearchContext.Empty, sort); 
} 
public SearchHits Search(Query query, ISearchContext context, Sort sort) 
{ 
return Search(Prepare(query, context), sort); 
} 
public SearchHits Search(QueryBase query, ISearchContext context, Sort sort) 
{ 
return this.Search(Prepare(Translate(query), context), sort); 
} 
public SearchHits Search(string query, ISearchContext context, Sort sort) 
{ 
return this.Search(Parse(query, context), sort); 
} 
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用新的 Sitecore.Search API 进行排序/过滤 的相关文章

随机推荐

  • RODBC 在 sqlQuery() 的连接中使用 Data.Frame

    有没有办法使用 sqlQuery 在 JOIN 条件下使用 data frame 我正在使用 RODBC 连接到 SQL Server 并且需要根据 R 中已有的 data frame 限制初始结果集 因此它仅返回 200 000 条记录中
  • 是否可以以某种方式在表格行周围设置边框?

    我试图在特定的表格行周围添加边框 当鼠标进入该行时 它会改变它的颜色 但是 除非使用 否则我根本看不到边框border collapse collapse 但我必须避免边框折叠 因为在某些情况下 边框在左侧 右侧和底部可见 但在顶部不可见
  • 如何防止 NUL 字节出现在我的 GIT 存储库和提交消息中?

    我有一个相对干净的 Mac OS X Mavericks 10 9 安装 运行 git 版本 1 8 5 1 我的文件位于已安装的 SMB 共享上 并且我无法再正常使用我的 GIT 存储库 因为 NULL 字节 0 不断出现在我的所有版本控
  • 如何用线性无关列在矩阵中编写线性相关列?

    我有一个很大的 mxn 矩阵 并且我已经确定了线性相关的列 但是 我想知道 R 中是否有一种方法可以根据线性独立列来编写线性相关列 由于它是一个很大的矩阵 因此不可能基于检查来完成 这是我拥有的矩阵类型的玩具示例 gt mat lt mat
  • F# 在同一项目的另一个文件中定义/使用类型/模块

    希望这将是一件容易的事 我有一个 F 项目 最新的 F CTP 其中包含两个文件 Program fs Stack fs 在 Stack fs 中 我有一个简单的命名空间和类型定义 Stack fs namespace Col type S
  • 执行库(pkg)后执行包中的函数

    您好 我有一个包 其中包含一个使用 gWidgets 制作 gui 的函数 有没有办法让我在包加载时执行该函数 以便立即出现界面 我想是这样的 OnAttach lt function libname pkgname gui 会起作用 但我
  • C++ ostream 输出操作

    基本上它应该以这种格式列出所有矢量坐标 x y z 但目前它确实像这样 x y z 最简单的方法是在 for 循环中使用 if 但是我可以从 out 变量中减去一小段字符串吗 my code template
  • 为什么我不能设置多个cookie

    我正在尝试设置多个 cookie 但它不起作用 if type ngx header Set Cookie table then ngx header Set Cookie end table insert ngx header Set C
  • 安卓6蓝牙

    我升级到 Android 6 我使用蓝牙的应用程序无法与这个新的 API 版本配合使用 Play 商店上的应用程序也有同样的问题 蓝牙 spp 工具专业版 查看蓝牙是否正常工作的好应用程序 但无法发现设备 问题似乎出在蓝牙发现中 Bluet
  • Chrome 硒中内存不足 - 没有抛出错误[重复]

    这个问题在这里已经有答案了 我有一个使用 Chrome 的 selenium 脚本 它运行了很长时间 最终 浏览器内存不足 我收到 错误代码 内存不足 页面 问题是 Python 中没有抛出错误 所以我不知道如何检测错误何时发生 代码最终会
  • 为什么 __builtin_popcount 比我自己的位计数函数慢?

    在编写了自己的位计数例程后 我偶然发现了 gcc 的 builtin popcount 但是当我切换到 builtin popcount 时 我的软件实际上运行得更慢 我在 Unbutu 上使用 Intel Core i3 4130T CP
  • 在 android Kitkat 中找不到 android.support.v4.content.FileProvider 类

    我在用FileProvider在我的应用程序中 像往常一样我宣布
  • 无法从“werkzeug”导入名称“secure_filename”

    我试图从 werkzeug utils 导入 secure filename 但出现错误 它在我的基本虚拟环境下运行良好 code Flask packages from flask import Flask render template
  • {{#each}} 内的车把助手

    我尝试在 a 中调用已注册的车把助手 each 环形 不幸的是 Ember js 会抱怨 因为它试图将助手解析为控制器的属性而不是助手 Handlebars registerHelper testHelper function name r
  • 网址的字符限制是多少[重复]

    这个问题在这里已经有答案了 URL 的字符限制是多少 尤其是当 URL 由表单的 GET 方法形成时 根据微软的说法 现在是 2048 年 自从他们发明了互联网 以及光明 黑暗和 Linux 以来 他们是对的 或 由于 IE 强制使用较低的
  • 如何在android中以编程方式录制特定声音的视频?

    我已经创建了在我的应用程序中录制视频的功能 当我播放一首歌曲时 该歌曲会与视频一起录制并创建一个视频文件 类似于 dubshmash 应用程序 现在我面临的问题是其他声音 例如附近的声音 也会被记录下来 歌曲文件录制在视频录制屏幕中 当视频
  • 如何保持 Spring Data JPA 或 Hibernate 中“in”子句中提供的顺序[重复]

    这个问题在这里已经有答案了 我有一个非常简单的查询 它根据 in 子句检索值 作为 in 参数出现的列表已适当排序 Query Query value select i from ItemEntity i where i secondary
  • 如何删除早于 X 且未使用的 docker 映像

    我的服务器磁盘空间不足docker images显示了 6 个月前的一些容器 但也有 2 年前的旧容器 我想删除所有 8 个月以上的 我可以添加什么魔法docker rmi MAGIC 那会完成这个吗 您可以使用docker images
  • 如何使用 Retrofit android 将 JSON 数据作为 Body 发送

    我正在尝试在服务器上发布以下 JSON 数组 order orderid 39 dishid 54 quantity 4 userid 2 orderid 39 dishid 54 quantity 4 userid 2 我在下面使用这个
  • 如何使用新的 Sitecore.Search API 进行排序/过滤

    我找不到任何使用新的 Sitecore Search API 进行排序和过滤的方法 Lucene提供了以下方法 Search Query query Filter filter Search Query query Sort sort Se