ドキュメントによると、Zend Lucene は辞書順でソートすることになっています。そうではないことがわかりました。'avg:[050 TO 300]' というクエリがある場合、その範囲内のすべての値が返されますが、値ではなくドキュメント ID に従って並べ替えられます。
find() 関数が追加のパラメーターを受け入れることができるため、特定の列 (例: $hits = $index->find($query, 'avg', SORT_NUMERIC, SORT_ASC);
) で並べ替えることができることがわかりました。ただし、$query を動的に作成しており、すべての検索を「avg」でソートしたくありません。
範囲検索を行うときに、Lucene に結果を自動的に辞書順に並べ替えるにはどうすればよいですか? それが不可能な場合、検索機能にソート フィールドを動的に追加するにはどうすればよいでしょうか。