Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 如何在lucene中对搜索结果进行排序?_Sorting_Lucene - Fatal编程技术网

Sorting 如何在lucene中对搜索结果进行排序?

Sorting 如何在lucene中对搜索结果进行排序?,sorting,lucene,Sorting,Lucene,例如,如果我有“good”、“better”、“best”值的枚举,我想按字符串表示中包含此值之一的字段对搜索结果进行排序 我没有什么目的: 1) 创建从枚举生成数值的CustomAnalyzer:good->1,better->2,best->3 2) 实现FieldComparator(我不知道如何实现) 有什么想法吗?您可以使用querytime增强功能: +(basequery)最佳^10000更好^100好^10 另请参见,您可以使用querytime增强: +(basequery)最

例如,如果我有“good”、“better”、“best”值的枚举,我想按字符串表示中包含此值之一的字段对搜索结果进行排序

我没有什么目的:

1) 创建从枚举生成数值的CustomAnalyzer:good->1,better->2,best->3

2) 实现FieldComparator(我不知道如何实现)


有什么想法吗?

您可以使用querytime增强功能:

+(basequery)最佳^10000更好^100好^10


另请参见,

您可以使用querytime增强:

+(basequery)最佳^10000更好^100好^10


另请参见,

,在这种情况下,评分公式是什么?“basequery”将有正常的提升,而best将有巨大的提升。因此,当用户在“内容”字段中搜索“我爱lucene”时,可能会出现这样的情况:用户会在“内容”字段中搜索“我爱lucene”,并会找到不相关的结果,如“Ann爱她的妈妈”、“我爱4月1日”,因为他们在enum字段中有“最好的”和相关结果“我爱lucene”将位于底部,因为此结果没有枚举字段。请在基本查询上设置提升并减少枚举上的提升:例如
+(basequery)^100最佳^50最佳^20良好^10
。这样一来,basequery的相关性将被视为更重要的因素。在这种情况下,评分公式又将如何呢?“basequery”将有正常的提升,而best将有巨大的提升。因此,当用户在“内容”字段中搜索“我爱lucene”时,可能会出现这样的情况:用户会在“内容”字段中搜索“我爱lucene”,并会找到不相关的结果,如“Ann爱她的妈妈”、“我爱4月1日”,因为他们在enum字段中有“最好的”和相关结果“我爱lucene”将位于底部,因为此结果没有枚举字段。请在基本查询上设置提升并减少枚举上的提升:例如
+(basequery)^100最佳^50最佳^20良好^10
。这样,basequery的相关性将被视为更重要。