v2.3 での検索に関する問題

Hello,

I’ve upgraded our Discourse instance from 2.2.6 to 2.3. Unfortunately we’ve noticed some issues with search:

  • the result contains mostly totally unrelated posts (many posts don’t have the search phrase)
  • the search ignores the options (like Matching in title only)

It shows up with terms containing accent like Hungarian word “tészta” :slight_smile: Ignore accents when searching for text. in admin settings is unchecked.

If you ever amend the site setting search ignore accents you must rebuild the full search index with:

./launcher enter app
rake search:reindex

Thanks for the hint! Unfortunately it doesn’t solve the problem :frowning:

It’s quite weird that some pre-2.3 posts contain search URLs (some has multi-word search terms with different accents) which are working fine and return valid result while new search queries are not working and give back not relevant posts.

この問題に遭遇した人はいませんか?:fearful:

残念ながら、アクセントを無視すると結果が不正確になるため、無視することはできません。この問題を解決するにはどこを確認すればよいでしょうか?2.2 にダウングレードするのはどうでしょうか(ただし、それは一時的な解決策になりますが :frowning: )。)

どんなアイデアでも歓迎します!

まだ問題が理解できていません。

期待される動作とともに、テキストの正確な部分をここに投稿してください。その後、ローカルでテストできます。

検索クエリ:“kávé in:title”(in:title なしでも機能しません)

検索結果の抜粋:

  • Szezámos káposzta
  • Káposztás lepény
  • A káromkodásról és csúnya beszédről
  • Diós, csokis masala kávé
  • Káposztás pizza
  • Kávékoncentrátum házilag

正しい結果は以下のはずです:

  • Diós, csokis masala kávé
  • Diós, tejes kávé
  • Kávékoncentrátum házilag

無関係な結果が表示されるだけでなく、本来表示されるべき結果が全くリストに含まれていません。

ありがとうございます!

サイト設定の「検索でアクセントを無視」がオフになっていることを 100% 確認し、オフにした後に再インデックスを実行したことを確認してください。

投稿で言及されていた再インデックスを実行しましたが、問題なく完了しました。

この件に関する更新情報はありますか?

try.discourse.org でテストを行い、ご提供いただいたタイトルで 5 つのトピックを作成しました。

その後、「kávé in:title」で検索した結果は以下の通りです。

これは正しいように見えます :man_shrugging:

変更したすべてのサイト設定のリストを見せていただけますか?
(:warning: ただし、機密値はすべて削除してください)

この問題を確認してくださり、ありがとうございます!:+1:

ブランディングに関する部分は含まれておらず、画像のみです。

ローカルでデフォルトのロケールを「magyar」に設定して試しましたが、こちらでも問題なく動作しました。

最新版にアップグレードして、再度確認していただけませんか?

はい、しかし残念ながら効果はありませんでした :frowning:

ローカル環境に新規インストールを行い、「kávé」は正常に動作しましたが、他のいくつかの単語は機能しませんでした。問題の原因は、PostgreSQL の全文検索とテキストの解析方法に関連しているようです。例えば、検索語「kávé」は正規化後に「ká」となり、この正規化された形式がテキストと照合されるため、「vé」と「poszta」の両方が FTS の正しい結果として返されてしまいます :)。

PostgreSQL で hunspell 辞書を使用することで状況が改善することを願っていますが、現在、ハンガリー語用の辞書は機能していません :sob: