タグに絵文字が含まれている場合、検索が機能しないようです

絵文字を含むタグ(例:new-york-city-🇺🇸)を持っています。
検索や高度な検索を使用しても、そのトピックが表示されません。

以下は例です:
クエリ:
https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸subway

以下は、本来表示されるべきトピックです:
https://urbantech-forum.cornelltech.io/t/subway-accessibility-info-and-elevator-escalator-status-alerts/139

「いいね!」 1

これが解決可能かどうかはわかりませんが、@neil さんのご見解はいかがでしょうか?

私の知る限り、これはここに記述されている正規表現:

が絵文字を許可していないことが原因です。もしこれが絵文字に一致するようであれば、その後は動作するはずです。

良い絵文字正規表現として、GitHub - ticky/ruby-emoji-regex: 💎 A set of Ruby regular expressions for matching Unicode Emoji symbols. · GitHub のようなものを使用することを検討してもよいかもしれません。

どう思いますか、@sam?

「いいね!」 1

まあ、これは主要なエッジケースをサポートするための巨大なモンスターのように感じられます。Tag クラスにはすでにバリデーション用の正規表現がありますか?

「いいね!」 1

ないと思いますけど、間違っているかもしれませんね。@neil ならもっと詳しいはずです。
私の知る限り、clean_tag 関数がこれだけあります:

これはクライアントサイドでも以下のようにコピーされています:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/select-kit/mixins/tags.js.es6#L80

また、例えば以下のようにクライアントサイドで生成されているため、他の場所でも役立つかと思います:
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/emoji.js.es6#L24

「いいね!」 2

イモージのタグ名に対するテストがあるかどうかは疑問です。2.5 でこれをサポートできるように検討しましょうか?

「いいね!」 4

検索で subway キーワードなしにタグのみを使用すると、検索結果は 1 つのトピックのみを返すことが確認できました(OP に投稿されたトピックではありません):

https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸

他のキーワードを使用しても同様ですが、これも以前返されたトピックのみに対して有効です:

https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸%20personal

タグを使用しない場合は正しく返されます:

https://urbantech-forum.cornelltech.io/search?expanded=true&q=new-york-city-🇺🇸

以前タグ付きで返されたトピックは、タグ名を含むキーワードを使用した際の 1 番目の結果ですが、実際の投稿は異なります。これは、投稿内のメタデータなどが検索にヒットしているためで、タグ自体が原因ではない可能性もありますが、確実なことは言えません。