이모지가 포함된 태그의 검색이 작동하지 않는 것 같습니다

이모지를 포함한 태그가 있습니다. 예를 들어 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 이 더 잘 알고 있을 거예요.

AFAIK(제가 아는 한) 우리는 단순히 이 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 키워드를 사용하지 않으면 검색 결과가 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순위로 반환되지만, 게시글은 다른 것입니다(이는 게시글의 메타데이터나 검색에 걸리는 다른 요소 때문일 수 있으며, 태그 자체 때문은 아닐 수 있지만, 확신할 수는 없습니다).