clear-code / redmine_full_text_search

Full text search for Redmine
MIT License
61 stars 24 forks source link

Paging is not working #70

Closed a9zawa closed 5 years ago

a9zawa commented 5 years ago

検索結果ページのページングが機能していないようです。 11件以上ヒットした場合でも、ページ下部にページングのリンクが表示されず、「(1-10/10)」と表示されてしまいます。

環境情報


https://github.com/clear-code/redmine_full_text_search/commit/8416db40a8f56a87a9d50d7f5b69c0a898ae4882 こちらの修正ですが、以下 @result_set.count の修正も必要かと思います。 https://github.com/clear-code/redmine_full_text_search/blob/8416db40a8f56a87a9d50d7f5b69c0a898ae4882/lib/full_text_search/hooks/controller_search_index.rb#L39

試しに手元の環境で @result_set.n_hits に修正したところページング部が表示されるようになりました。 ただし、2ページ目以降に遷移した場合検索結果が表示されませんでした。 デバッグ用にソース一部修正して動作確認したところ、slice に対しての limit と offset の処理順が逆になっているような動作をしているように思います。 十分にヒットするクエリでも、limit = 10, offset = 20 の場合検索結果0件になりました。また、limit = 10, offset = 5 の場合検索結果は5件になりました。 上記よりlimit分に絞った後offset分開始位置を進めている動きになっていると推測しております。

以上ご参考までに。

kou commented 5 years ago

たしかにその通りですね! 直しました!

offsetlimitの方はGroongaの問題だったのでそっちで直しました。