我想使用Lucene(4.10)来匹配和排序数据库中的所有记录。我已经记录了包含我想要匹配的许多不同项目的数据的记录。
数据示例如下所示
age: 35
fav_colour: red
fav_car_manufacturer: bmw
我想根据分数返回从最接近的匹配降序排序的所有文件。
我目前这样做是为了构建一个查询
MatchAllDocsQuery allDocsClause = new MatchAllDocsQuery();
TermQuery ageTerm = new TermQuery(new Term("age", "35"));
TermQuery colorTerm = new TermQuery(new Term("fav_color", "red"));
TermQuery carTerm = new TermQuery(new Term("fav_car_manufacturer", "bmw"));
BooleanQuery query = new BooleanQuery();
query.add(allDocsClause, BooleanClause.Occur.MUST);
query.add(ageTerm, BooleanClause.Occur.SHOULD);
query.add(colorTerm, BooleanClause.Occur.SHOULD);
query.add(carTerm, BooleanClause.Occur.SHOULD);
这会返回一组得分的文件,这很好,但我怀疑这是否正常。
我的问题是