검색에서 사용자 이름을 제외할 수 있나요?

검색 결과에서 특정 사용자의 게시물을 제외하는 방법이 있을까요? 현재, 커뮤니티에서 인기 있는 용어가 포함된 사용자명을 가진 매우 활동적인 사용자가 있는 경우, 예를 들어…

검색어: ‘ABCD’
사용자명: ‘ABCDAndUser…’

…이러한 용어를 검색하면 해당 사용자의 게시물 목록이 자주 표시되어, 해당 사용자의 무작위 게시물이 주제와 관련이 있고 단순히 그 사용자를 토론에 포함시킨 게시물과 구별하기가 거의 불가능할 정도가 됩니다. 이상적으로는 대부분의 멤버들이 해당 용어가 활발히 사용되고 있는 주제에 맞는 게시물 목록을, 해당 용어가 사용되지 않은 채로 해당 사용자만 게시한 게시물 목록보다 선호할 것입니다.

수정: 현재 이 문제를 해결할 대안은 해당 사용자명을 변경하거나, 검색을 수행하는 동안 해당 사용자명을 차단하는 것 외에는 알지 못합니다. 이 두 가지 방법 모두 이상적이지는 않습니다.

3개의 좋아요

아, 와. 정말로 그 사람이 작성한 게시글만 가져오는 건가요, 아니면 그 사람의 사용자명이 문자 그대로 포함된 답글이 달린 게시글을 가져오는 건가요?

2개의 좋아요

아, 좋은 지적이네요. 더 자세히 살펴보니, 답글에 사용자의 사용자 이름이 그대로 포함된 게시물들이라는 점이 드러났습니다.

2개의 좋아요

거기서 어떤 개선의 여지가 있을 것 같은데, 이름 하나가 검색을 그렇게 "하이재킹"할 수 있다는 건 이상한 것 같고, 사람들이 특정 포럼의 주제와 관련된 사용자명을 고를 가능성이 높아 보입니다.

내부적으로 구현하기가 얼마나 어려울지는 모르겠지만, @가 없는 경우 사용자명을 억제하는 것이 좋을 것 같습니다.

2개의 좋아요

이것이 예약된 사용자 이름이 존재하는 이유 중 하나입니다.

기본적으로 Discourse는 다음 항목들을 차단합니다:

discourse라는 이름의 사용자로 인해 토론이 혼란스러워지는 일은 누구도 원하지 않습니다.

커뮤니티는 해당 커뮤니티의 토론에 특화된 용어를 추가하기 위해 이 목록을 업데이트할 수 있습니다.

3개의 좋아요

이 문제가 이 솔루션이 최선은 아니라고 생각합니다. 예를 들어, 자동차 포럼에서 특정 자동차 모델을 소유하거나 좋아하는 것을 드러내는 사용자 이름을 사용하는 사람을 상상해 볼 수 있습니다. 정말로 그런 가능성을 금지하고 싶습니까 — 아니면 목록을 유지할 겁니까?

또한, 한때 AT&T에 지원 관련 질문을 해야 했는데 "Matthew"라는 이름을 사용할 수 없었습니다. 그 이유가 무엇일지 아시겠습니까?

2개의 좋아요

아마도 제가 설정 사항을 잘못 이해한 것일 수 있습니다. 잠재적으로 문제가 될 수 있는 모든 단어의 인스턴스를 향후 사용자 이름에서 예약하고, 기존 커뮤니티 멤버의 사용자 이름에서도 소급하여 제거해야 하는 건가요?

저는 실제로 'testuser’라는 이름을 사용하는 멤버들이 있다는 사실을 잘 알고 있습니다. 즉, 이 솔루션이 작동하려면 와일드카드를 사용해 사용자 이름을 대량으로 금지해야 하는 것 아닌가요? 그렇다면 수많은 약어에 걸쳐 이 접근 방식이 과도하게 부담을 줄 수 있습니다(이 특정 사례는 금융 커뮤니티의 ETF 티커였습니다).

1개의 좋아요

실무적으로도, 사용자 이름 제한은 SSO와 잘 맞지 않습니다. SSO가 동일한 제한을 강제하지 않는 경우, 사용자가 모르게 “금지된” 이름을 선택하면 Discourse는 무작위로 긴 UUID 형식의 사용자 이름을 부여합니다.

1개의 좋아요

구체적인 예로 추정컨대

  1. 어떤 사용자가 자신을 msft_2000이라고 불렀고
  2. 이제 누군가가 “What @msft_2000 says” 또는 "what msft_2000 says"라고 말할 때마다 이것이 검색 결과에 표시된다

정답이 무엇인지 솔직히 확신이 서지 않지만, 저는 아마도 역방향으로 접근했을 것 같습니다.

  • MSFT → "추가 데이터가 포함된 마법 같은 msft 원박스"로 변환하는 특수 플러그인
  • 검색 쿼리에서 알려진 주식 티커를 분석하고 검색 쿼리에 변환을 적용함

분명 매우 복잡하고 비용이 많이 들 것입니다. 제가 생각할 수 있는 유일한 간단한 우회책은 사용자 이름 변경입니다.

1개의 좋아요

Discourse가 특정 용어(이 경우 제외할 용어로 사용자 이름)가 포함된 검색 결과를 제외하기 위해 Google의 마이너스(-) 기호를 사용하지 않는 데에는 특별한 이유가 있나요? 그런 기능이 있었다면 가장 간단한 해결책이었을 것 같습니다.

죄송합니다. 이 대화를 현실적인 수준에서 다뤄야 할 것 같습니다.

사용자님은 다음을 검색하기를 원한다고 말씀하셨습니다:

msft -msft_user

이것은 현재 인덱스에서 기술적으로 가능하지만, 이를 구현하려면 상당한 작업이 필요합니다. 특히 msft_user는 두 개의 토큰(msft / user)으로 토큰화되므로 is followed by 구문을 사용해야 합니다. - 연산자를 구현하는 데는 장점이 있다고 보지만, 이는 단순한 변경 사항이 아닙니다.

3개의 좋아요

네, 내용이 너무 길어졌다면 죄송합니다. 그런 의도는 전혀 없었습니다.

팀 중 한 명이 이 상황을 언급했고, 최근 검색 기능 개선 작업을 하던 중이어서 이 시점에 변경하는 것이 적절해 보일 것 같아 질문을 드렸습니다.

이로써 질문이 해결되었습니다. :+1:

2개의 좋아요

전혀 문제가 되지 않습니다. 이는 매우 정당한 요청이라고 생각하며, -something과 -"some longer phrase"를 지원할 수 있다면 다양한 상황에서 꽤 유용할 것입니다.

이 변경 사항은 사소한 것은 아니지만, 그렇다고 해서 엄청난 작업도 아닙니다. 다만, 이 변경 사항은 다소 세심한 작업이 필요합니다.

이 이슈에 태그를 달아 두겠습니다. 다음 검색 기능 개선 라운드에서 다시 검토해 보겠습니다!

이 문제를 제기해 주셔서 정말 감사합니다.

7개의 좋아요

이거 태그를 활용하는 좋은 사례가 아니에요?

다만 태그 제외는 지원됩니다:

-tags:bug+feature: bug 및 feature 태그가 있는 토픽 제외
-tags:bug,feature: bug 또는 feature 태그가 있는 토픽 제외

5개의 좋아요