Lucene相关度排序

/**
	 * 搜索
	 */
	@Test
	public void search() throws Exception
	{
		String queryString = "笑话";
		
		Map<String, Float> boostMap = new HashMap<String, Float>();
		//默认是1.0f
		//boostMap.put("name", 3.0f);
		boostMap.put("content",8.0f);

		// 把要搜索的文本解析成Query
		String[] fields = {"name", "content"};
		QueryParser queryParser = new MultiFieldQueryParser(fields, analyzer,boostMap);
		Query query = queryParser.parse(queryString);

		// 进行查询
		IndexSearcher indexSearcher = new IndexSearcher(indexPath);
		Filter filter = null;
		// 相当于一个List集合
		TopDocs topDocs = indexSearcher.search(query, filter, 10000);

		System.out.println("总共有[" + topDocs.totalHits + "]条匹配结果");

		// 打印结果
		for (ScoreDoc scoreDoc : topDocs.scoreDocs)
		{
			int docSn = scoreDoc.doc;// 文档内部编号
			Document doc = indexSearcher.doc(docSn); // 根据编号取出相应的文档
			File2DocumentUtils.printDocumentInfo(doc);

		}
		System.out.println("总共有[" + topDocs.totalHits + "]条匹配结果");
	}

 

你可能感兴趣的:(Lucene)