【发布时间】:2015-04-16 13:13:05
【问题描述】:
我将 Lucene 4.10.3 与 Java 1.7 一起使用
我想知道是否可以对查询结果匹配项进行排序? 简单地说,如果我的文档包含一个文本字段;
查询是
文本:a*
我想要包含 ab、ac、ad 等的文档。
然而,实际情况更复杂,我实际上想要完成的是将关系数据库“填充”到我的 lucene 索引中(可能不是最好的主意?)。
一个合适的例子是: 我有代表图书馆书籍的文件。每本书都有一个书名,还有一个借过这本书的人的名单和借阅的日期。
当用户搜索标题包含“JAVA”的书籍时,我想优先考虑该用户借阅的书籍。这可以通过添加一个 TextField “借款人”、在其上添加一个 SHOULD 子句并按分数排序来完成) 另外,如果该用户之前借过几本带有“JAVA”的书,我想首先显示最近借过的书。所以我想创建一个看起来像的 TextField “借款人” 借款人:“user1__20150505 user2__20150506”等
我将添加一个 BooleanClause 借款人:user1* 并按匹配项排序。 欢迎任何其他解决方案的想法
【问题讨论】:
标签: lucene