何时使用QueryParser与TermQuery?

时间:2013-04-22 15:25:30

标签: c# lucene lucene.net

我正在研究Lucene,无法区分QueryParser和Term Query。看来它们是一样的。这是真的?如果不是,我何时应该使用另一个?

1 个答案:

答案 0 :(得分:4)

不,他们不是同一个人。以下是每个人的个人描述。

1)QueryParser “解析”文本查询并构建Lucene-Query-Object。它接受文本查询并基于该信息构建Lucene Query对象。

Look at this article描述了QueryParser解析文本输入并构建相应Query对象的方式。

2) TermQuery是QueryParser的可交付成果,即它是一种Lucene Query。 Lucene支持各种查询,如布尔查询,模糊查询等.TermQuery是Lucene查询的最基本形式。

何时使用?

  • 几乎所有应用程序(从简单到高级)都使用QueryParser。只需传入文本输入,然后从该输入中构建相应的Lucene-Query-Object。

  • 您始终可以使用TermQuery构造函数构建自己的查询。人们通常在尝试不同的查询类型时构建自己的Lucene-Query-Objects。

您可以查看本教程,其中包含使用Lucene时需要了解的所有基本内容:Lucene in 5 minutes