documentationによると、Zend Luceneは辞書編集で並べ替えが行われています。私はこれが当てはまらないことを発見しています。クエリ 'avg:[050 TO 300]'があれば、その範囲内のすべての値が返されますが、値ではなくドキュメントIDに従ってソートされます。Zend Luceneを使用した範囲クエリの並べ替え
find()関数は追加のパラメータを受け取り、特定の列(たとえば$hits = $index->find($query, 'avg', SORT_NUMERIC, SORT_ASC);
)でソートできるようになりました。しかし、私は$クエリを動的に作成しており、すべての検索を '平均'でソートしたくありません。
範囲検索を行うときにLuceneに辞書的に自動的に結果を並べ替えるにはどうすればよいですか?それが不可能な場合は、ソートフィールドをfind関数に動的に追加するにはどうすればよいですか?
私は選択された数のクエリをソートするだけなので、私はそのクエリを実行するたびにフラグを設定し、ソートなし/なしで見つけるif/elseを見つけることになります。 ($ query、 'avg'、SORT_NUMERIC、SORT_ASC);} else {$ hits = $ index-> find($ query);} ') –