如何在 Orchard CMS 上使用 lucene 查询语法

2024-04-06

我想使用完整的Lucene 查询语法 http://lucene.apache.org/core/2_9_4/queryparsersyntax.html在基于 Orchard CMS 的网站上。

目前,启用后索引和搜索 http://docs.orchardproject.net/Documentation/Search-and-indexing在Orchard上,我可以根据我在Orchard搜索管理页面上选择的字段在网站上进行搜索,

  • 但我无法仅对特定字段执行一次搜索(而不更改整个搜索的行为)
  • 我无法使用模糊搜索...

从日志中,我可以看到 Orchard 负责这部分(为 Lucene 提供良好的查询语法),但我想自己做。 例如,当在网站上搜索“wel”时,Orchard 将向 Lucene 发送以下查询: title:wel* body:wel* (如果我在搜索时激活了标题和正文字段)。

我确实看到了一些blogs http://www.breakoutdeveloper.com/orchard-cms/creating-an-advanced-search谈论编写一些功能来自定义搜索,但我想确保在切换到开发人员模式之前我没有遗漏一些东西:)


搜索可以完成的场景如此之多,以至于无法提供开箱即用的覆盖范围,这就是为什么如果您需要自定义搜索功能,API 的使用非常简单。

您应该从搜索模块复制粘贴控制器并使用该模块的 Parse() 方法ISearchBuilderescape参数为 false。这将解析一个纯 lucene 查询。您还可以使用WithField("body", "value")进行更简单的字段搜索。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Orchard CMS 上使用 lucene 查询语法 的相关文章

随机推荐