Lucene中document的id。

在对很多文档进行索引之后,该怎样去快速定位到Documen的位置?
例如我要查找包含“上海”的文档,我该怎样快速定位包含“上海"的document的位置?

 public class ReaderByIndexerTest {  

    public static void search(String indexDir,String q)throws Exception{  

        //得到读取索引文件的路径  
        Directory dir=FSDirectory.open(Paths.get(indexDir));  

        //通过dir得到的路径下的所有的文件  
        IndexReader reader=DirectoryReader.open(dir);  

        //建立索引查询器  
        IndexSearcher is=new IndexSearcher(reader);  

        //实例化分析器  
        Analyzer analyzer=new StandardAnalyzer();   

        //建立查询解析器  
        /** 
         * 第一个参数是要查询的字段; 
         * 第二个参数是分析器Analyzer 
         * */  
        QueryParser parser=new QueryParser("title", analyzer);  

        //根据传进来的p查找  
        Query query=parser.parse(q);  

        //计算索引开始时间  
        long start=System.currentTimeMillis();  

        //开始查询  
        /** 
         * 第一个参数是通过传过来的参数来查找得到的query; 
         * 第二个参数是要出查询的行数 
         * */  
        TopDocs hits=is.search(query, 500);  
//        TopDocs hits1= is.searchAfter(hits.scoreDocs[999], query, 1);
        //计算索引结束时间  
        long end=System.currentTimeMillis();  

        System.out.println("匹配 "+q+" ,总共花费"+(end-start)+"毫秒"+"查询到"+hits.totalHits+"个记录");  
        //遍历hits.scoreDocs,得到scoreDoc  
        /** 
         * ScoreDoc:得分文档,即得到文档 
         * scoreDocs:代表的是topDocs这个文档数组 
         * @throws Exception  
         * */  
        for(ScoreDoc scoreDoc:hits.scoreDocs){  
            Document doc=is.doc(scoreDoc.doc);  
            System.out.println("id="+doc.get("id")+"---->title="+doc.get("title"));  

        }  
        //关闭reader  

        reader.close();  
    }  

    //测试  
    public static void main(String[] args) {  
         long start=System.currentTimeMillis();  
        String indexDir="d:\\luceneDemo";  
        String q="70533636-1448-4ed5-922f-ef33557d32ee";  
        try {  
                  search(indexDir,q);  
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
             e.printStackTrace();  
        }  
        long end=System.currentTimeMillis();  
        System.out.println("总流程花费"+(end-start)+"毫秒");  
    }  

匹配 70533636-1448-4ed5-922f-ef33557d32ee ,总共花费1051毫秒查询到3926个记录
id=10000000---->title=70533636-1448-4ed5-922f-ef33557d32ee
id=6050845---->title=973c3b75-4b35-4ed5-922f-af6b3e3d79c3
id=9464722---->title=af29187f-1448-4c97-a58f-08f7a70756c0
id=9088371---->title=1fdd7d52-1448-482d-9320-e66b263a55a5
id=9223590---->title=32a056b5-1448-4a94-91ea-3ef62654d6a1
id=9223659---->title=0f77f7a2-1448-4d70-a446-c6ca17df1adc
id=9260433---->title=ee1dc06c-1448-4ae8-acae-67b8434147c4
.............