Lucene(Java) - 如何以编程方式指定默认搜索字段?

时间:2009-09-30 07:14:23

标签: lucene

我有以下代码,非常感谢您的建议。

   QueryParser queryParser = new QueryParser(searchTerm, analyzer);
   Query query = queryParser.parse(searchTerm);

我的第一个问题是,这个“加倍”?因为我在构造函数和parse()方法中有“要搜索的字符串(= searchTerm)”。这真的需要吗? (为了进一步的使用,我需要一个Query对象)。如果我这样做,这甚至可能会带来一些负面影响吗?

我无法以编程方式指定要搜索的“默认字段”。在我的查询中,我写了“content:House”,并在“内容”字段中搜索。但是如何以编程方式指定“content:”是我的默认字段,用户只需输入“House”(然后lucene会自动搜索“content”字段)。

非常感谢

1 个答案:

答案 0 :(得分:5)

QueryParser构造函数的第一个参数是默认搜索字段,即使javadoc没有那么明显。

所以你想要这个:

QueryParser queryParser = new QueryParser("content", analyzer);
Query query = queryParser.parse(searchTerm);