[lucene] QueryParser中的default field是什么意思?

直接上例子

假设已有Index: 对文本文件进行索引,有两个Field, 分别是 文件名(fileName)和文件内容(content)

使用content作为default field:

        QueryParser qp = new QueryParser(Version.LUCENE_30, "content", new StandardAnalyzer(
                Version.LUCENE_30));     

   Query query = qp.parse("人");  //会搜出内容中含有“人”字样的文档
   Query query = qp.parse("fileName:人");  //会搜出标题中含有“人”字样的文档   

可以看出:

1. 使用content作为default field构建的Parser,仍然可以对其他Field进行搜索

2. 如果在搜索的term里不指定field, 则parser会默认使用content作为目标Field

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.