clear-code / redmine_full_text_search

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

May return duplicated result #22

Closed kou closed 7 years ago

kou commented 7 years ago

詳細はわかっていないんですが、「2017-04-07」で検索すると「2017-04-17 朝会」というタイトルの(同一でどちらも3610番の)チケットが2つリストされます。スコアは片方が1100でもう片方が100です。

チケットの重複判定がうまくいっていないのかもしれません。

@okkez さんもアクセスできるサーバーなので詳細はそこで確認できます。

okkez commented 7 years ago

それはスコアを表示するようにしたための仕様です。 Redmineの持ってるキャッシュのキーが [id, rank, scope] (rank==score) なのです。 issue の場合は、issue の本体とコメントで別のテーブルになっていて、それぞれ別のクエリを組み立てて投げており、スコアがテーブルごとに別々に算出しているためです。

kou commented 7 years ago

ユーザーからすると同じチケットが2つリストされる仕様はうれしくない(あれ、これ前にも見たやつだけど。。。違うのかな?とか混乱する)んですが、どうしようもないのでしょうか?

kou commented 7 years ago

リストするときに同じIDならrankをマージして一つにまとめるとかできないのかしらとか思いますけど。。。

okkez commented 7 years ago

Redmine 側の処理を上書きすれば、できますね。 :thought_balloon: 現状ではRedmine側の処理を上書きしてしまっている部分だったと思うので、そこに手を入れれば可能という認識です。

okkez commented 7 years ago

Fixed. 2ef5c72