这个问题是从this问题衍生出来的。
我的询问是双重的,但由于两者是相关的,所以我认为将它们放在一起是一个好主意。
- 编辑 -
我将给出一个查询示例,以供我查询:
假设我有5个领域:
所有字段都是可选的,最后一个字段应搜索所有其他字段。
我遍历每个字段,看看是否为IsNullOrEmpty()。如果不是,我想附加一部分查询,以便添加相关的搜索部分。
名字和姓氏应完全匹配,并且比其他字段具有更大的权重。年龄是一个字符串,应该完全匹配。地址可以按顺序排列。一切也可以有条不紊地进行。
我应该怎么做呢?
最佳答案
使用BooleanQuery类组成查询对象。创建其中一个并将add()其他Query对象添加到其中,以创建更大的析取查询:
可以使用Term和TermQuery类构建原子查询。
(链接和示例适用于Lucene Java,但.NET应该相似。)
关于lucene - 如何创建更复杂的Lucene查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/532512/