我在不太了解如何实现一个像样的 Lucene 排序或排名方面遇到了这个长期问题。假设我有一个城市及其人口的列表。如果有人搜索“新”或“伦敦”,我想要按人口排序的前缀匹配列表,并且我使用前缀搜索和反转的按字段排序,其中有一个人口字段,即纽约新墨西哥州; 或伦敦,伦敦德里。
但是,我也总是希望完全匹配的名称位于顶部。因此,在“伦敦”的情况下,列表应该显示“伦敦,伦敦,伦敦德里”,其中第一个伦敦在英国,第二个伦敦在康涅狄格州,即使伦敦德里的人口比伦敦 CT 高。
有没有人有一个单一的查询解决方案?