2

我想 在基于 Orchard CMS 的网站上使用完整的Lucene 查询语法。

目前,在Orchard上启用索引和搜索后,我可以根据我在Orchard搜索管理页面上选择的字段在网站上进行搜索,

  • 但我不能只对特定字段执行一次搜索(不改变整个搜索的行为)
  • 我不能使用模糊搜索...

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

我确实看到一些博客谈论编写一些功能来自定义搜索,但我想确保在切换到开发人员模式之前我没有遗漏一些东西:)

4

2 回答 2

2

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

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

于 2013-10-24T21:45:24.380 回答
1

我不相信有人发布了任何提供额外搜索功能的模块,因为如果您需要它,开发起来非常简单^_^所以是的,您必须进入开发模式才能进行自定义字段搜索

于 2013-10-24T08:27:39.960 回答