Lucene查询排除文档,但不包含部分匹配的文档

时间:2009-03-19 15:36:20

标签: c# .net lucene

假设我有一组这样的文档:

  • 梅赛德斯
  • 梅赛德斯卡车

有没有办法创建一个过滤掉奔驰车的查询,而不是梅赛德斯卡车?

2 个答案:

答案 0 :(得分:1)

如果您需要短语“mercedes truck”,那么您的查询就可以

  

“梅赛德斯卡车”

如果您需要梅赛德斯和卡车这两个词,那么您的查询可以

  

+梅赛德斯+卡车

OR

  

梅赛德斯和卡车

这些查询会自然地过滤掉不包含“卡车”一词的文档。

修改 除非这是关键字/未标记字段。在这种情况下,只有第一个例子可以使用。

答案 1 :(得分:0)

你试过了吗?

+ carbrand:mercedes * -carbrand:mercedes

(或者当然是任何字段名称)。 或者我是否根据具体的例子过度简化了?