umbraco lucene语法不是

时间:2013-02-20 15:05:16

标签: syntax lucene umbraco

我正在尝试编写一个lucene查询来检索我网站中的某些页面,所以我有以下内容:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6", _searchTerm)

这意味着它会搜索包含nodeName变量的bodyText_searchTerm的内容

我正在努力的是,我还希望它不包含hideInNav标志设置为1的任何结果,所以我尝试了:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6 +hideInNav: NOT(1)", _searchTerm)

然而,这会引发以下错误:

Encountered " <NOT> "NOT "" at line 1, column 140.
Was expecting one of:
   "(" ...
   "*" ...
   <QUOTED> ...
   <TERM> ...
   <PREFIXTERM> ...
   <WILDTERM> ...
   "[" ...
   "{" ...
   <NUMBER> ...

据我所知,查询在NOT之后确实有一个(所以我对这个预期的位置感到难过

1 个答案:

答案 0 :(得分:0)

尝试此查询:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6 !hideInNav: (1)", _searchTerm)

感叹号也可以更改为NOT:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6 NOT hideInNav: (1)", _searchTerm)

有关Lucene Query语法的概述,请参阅this page(它不是当前版本,但我怀疑它发生了很大变化)

编辑:可能正在撤消hideInNave语句将修复它:

string.Format(“nodeName:({0})^ 7 bodyText:({0})^ 6 + hideInNav:(0)”,_ searchTerm)检查它是否为零或检查它是否为零。< / p>

您可能还想下载Luke来检查索引的内容并查看值的保存方式。