Lucene - 排除被搜索的字段

时间:2016-07-07 16:02:39

标签: lucene kentico

我有一个搜索索引,需要一个lucene查询,它会有条件地搜索指定的字段。最终结果是,如果您已登录网站,将搜索所有字段,或者如果您已注销,则会通过修改lucene查询来跳过指定的字段。

我现在最接近的是:

+(term1~ term2~) +_culture:([en-gb TO en-gb] [invariantifieldivaluei TO invariantifieldivaluei]) **-FieldToIgnore1:(term1 term2) -FieldToIgnore2:(term1 term2)**

然而,问题是如果其中一个搜索项存在于未提及的字段之一(FieldToIgnore1或FieldToIgnore2)中,则忽略该文档,因为它被排除为要忽略的字段之一匹配。

如何对其进行修改,以便lucene甚至不会与要忽略的字段匹配?

1 个答案:

答案 0 :(得分:0)

您是否尝试修改文档字段本身的可搜索性,而不是通过Lucene和智能搜索结果网站部分对搜索进行限定。您可以在页面类型或索引本身上设置搜索参数。

转到页面类型 - > [您的文档类型] - >搜索字段,并设置哪些字段不会被搜索。

Page Types --> Articles --> Search fields (v.8.2)

版本9在智能搜索应用程序中为您提供了这些设置。有关详细信息,请参阅these docs