下次在Lucene.Net中执行相同的搜索时,如何重用bolean查询形成的查询

时间:2009-07-27 06:30:43

标签: lucene.net

我正在使用lucene.Net在我的应用程序中进行搜索。 我必须在两个字段中搜索,所以我在布尔查询中添加两个术语查询,结果布尔查询是 +(位置:a * +(id:19))

我正在使用分页来向用户显示结果。当我想在我的结果集中获得下一个n条记录时,我再次进行相同的搜索。

下次执行搜索时,我不想准备查询,我希望o使用相同的查询“+(location:a * +(id:19))”。

我如何使用它,我应该使用哪个查询...因为大多数类型查询都需要字段名称。但我有一个解析的查询,并希望按原样使用。

如果有人知道,请告诉我。

1 个答案:

答案 0 :(得分:1)

  1. 使用Queryparser.Parse()方法解析查询字符串并获取Query对象。
  2. 存储查询对象以进行下一轮。
  3. 使用Searcher.Search()方法之一和存储的查询。