我正在尝试基于Orchard.Search创建自定义搜索模块。我创建了一个名为关键字的自定义字段,我已成功添加到索引中。我想匹配标题,正文或关键字匹配的内容。使用.WithField添加这些或者为匹配该术语的每个字段传递一个字符串数组的字段测试,如果在任何字段中存在匹配,我需要这些来返回内容。我已经包含了如何使用以下两种方法的示例。
我使用搜索构建器的示例:
var searchBuilder = Search()
.WithField("type", "Cell").Mandatory().ExactMatch()
.WithField("body", query)
.WithField("title", query);
.WithField("cell-keywords", query);
String Array FieldNames:
string[] searchFields = new string[2] { "body", "title", "cell-keywords"};
var searchBuilder = Search().WithField("type", "Cell").Mandatory().ExactMatch().Parse(searchFields, query, false);
如果有人能指出我正确的方向,那就太棒了:)
答案 0 :(得分:0)
一位同事在他的博客上写了一篇关于此的文章,应该证明是有用的http://breakoutdeveloper.com/orchard-cms/creating-an-advanced-search
答案 1 :(得分:0)
我已经解决了我的问题!
问题是当我将关键字字段添加到零件处理程序的索引时。有内容项目为NULL导致错误,我错过了!!