用Compass索引,Lucene搜索 得到主键的问题
shingo7
2008-09-03
最近要做全文检索,网上比较多的都采用compass
我看了一下,compass在做索引方面确实非常方便,但是关于它的*.cpm.xml文件的一些属性一直有困扰. Xml代码 <compass-core-mapping> <class name="capinfo.bmservice.question.bo.FaqQuestion" alias="question"> <id name="qid" /> <property name="qname"> <meta-data>questionTitle</meta-data> </property> <property name="qanswer"> <meta-data >questionAnswer</meta-data> </property> </class> </compass-core-mapping> <id name="qid" /> 对应着POJO的qid,即是数据库这个表的主键 后来在查询时 Java代码 indexSearcher = new IndexSearcher("D://question/"); QueryParser queryParser = new QueryParser("questionAnswer",new StandardAnalyzer()); Query query = queryParser.parse("food"); Hits hits = indexSearcher.search(query); System.out.println(hits.doc(0).get("qid")); 我想通过 get("qid")的方式取得id,但得到的却是null. 请问: 1.如果得到搜索结果的id? 2.<id name="qid" /> 这句话到底有没将id存入索引? |