이것을 사이트 설정으로 토글할 수 있을까요? 어떤 경우에는 주제가 닫힘(Closed) 상태이면서 동시에 해결(Solved)된 상태일 수 있습니다. 반대로 일부 사용자는 이것이 결과에서 더 높은 순위로 나와야 한다고 기대할 수도 있습니다.
검색 기능이 관심을 받기 시작했다는 점을 매우 기쁘게 생각합니다. 카테고리를 지정하여 검색할 수 있다는 것만으로도 우리의 사용 사례에 큰 장점이 됩니다.
조금 더 개선되었으면 하는 한 가지는 오타 처리입니다. 일부 검색 엔진에 익숙해져서, 원본 단어와 아주 희미하게 닮은 문자 조합이 검색창에 입력될 때까지 게으르게 키를 두드리게 됩니다. 이것이 정확히 매칭되길 기대하지는 않지만, 그 부분의 개선은 큰 전진이 될 것입니다.
대담한 의견입니다! 저는 일관성을 유지하는 것이 더 낫다고 생각합니다(즉, 사이트별 옵션을 두지 않는 것). 그리고 다음과 같이 해야 한다고 생각합니다:
해결됨으로 표시된 닫힘 게시물의 우선순위를 높입니다(열려 있는 게시물보다 더 높은 수준으로).
자동으로 아카이브할 닫힘 게시물을 위한 타이머 옵션을 추가합니다(이상적으로는 카테고리별 및/또는 태그별 설정).
아카이브된 게시물 중에는 해결책이 있는 게시물을 우선시하되, 아카이브되지 않은 게시물보다 위에 표시되도록 너무 높게 설정하지는 않습니다.
면책 조항: 네, 제 사이트에도 그 자동 아카이브 기능이 필요하다고 말씀드릴 수 있습니다! 하지만 일반적으로도 합리적이라고 생각합니다. 답변은 있지만 더 이상 관련이 없을 가능성이 큰 내용은 치워져야 합니다. 그리고 원치 않는 경우(해결된 질문이 시의적절하게 유효한 경우) 아카이브 기능을 활성화하지 않으면 됩니다.
왜 그런가요? 개발 측의 편의를 위해서인가요? 아니면 사용자가 여러 디스코urs(디스코)를 오갈 때 생활이 편해지기 때문인가요? 아니면 다른 이유가 있나요?
첫 번째 이유는 그다지 이유가 되지 않습니다. 작업량이 인간적으로 감당할 수 있고, 이 현실에서 작업이 가능한 한에서는요. 두 번째 이유는 MS나 Apple처럼 고객과 너무 많은 마찰을 원하지 않는 기업에는 좋은 이유가 될 수 있지만, 그 외의 경우에는 — 관리자이자 콘텐츠 제작자로서 저는 사용자에게 서비스를 제공해야지, 여기, 저기, 또는 다른 곳에서처럼 일관성을 유지하는 데 집중할 수는 없습니다
하지만, 또 다른 친숙한 해결책인 숨겨진 설정(hidden settings)을 사용할 수는 없을까요?
지금 두 가지 다른 전략을 보고 있습니다:
커뮤니티의 필요성은 플랫폼(즉, 코딩/개발 문제)에 의존하지 않고 다양하므로, 검색 결과와 같은 중요한 부분을 조정할 수 있도록 관리자에게 자유를 줘야 하는가?
아니면 관리자를 또 다른 사용자로 취급하여 UI를 깔끔하게 유지하고, 무엇이 어디에 왜 있는지를 CDCK가 결정하도록 해야 하는가?
#support를 양쪽 모두에서 살펴보면 각각 장단점이 있습니다. 하지만 여전히 첫 번째 방향은 오픈소스 세계의 특징에 더 가깝고, 후자는 애플의 방식입니다.
더 많은 옵션은 저처럼 숙련도가 높지 않은 관리자가 더 많은 질문과 문제를 만들게 합니다. 하지만 더 많은 옵션은 사용자와 방문자에게 더 나은 결과를 줄 수도 있습니다. 그래서 어떻게 하죠?
저에게는 이 질문이 매우 쉽습니다: 가능한 한 강력한 검색을 원합니다. 그리고 토픽을 닫으면 검색 결과에서 랭킹이 내려간다면, 저는 토픽을 더 이상 닫지 않거나 매우 드물게 닫게 될 것입니다. 쉬운 선택이지만, 그러면 저는 커뮤니티의 필요성이 아니라 소프트웨어의 한계 때문에 행동하게 됩니다.
승수(multiplier)를 사용하는 것은 일반적으로 좋은 접근 방식처럼 보이지만, 위에서 제안한 내용을 표현하기는 어렵다고 생각합니다.
closed not solved < open not solved < open solved < closed solved
닫힘(Closed) 상태는 해결된 게시물에 대해서는 우선순위 _상승_이 되어야 하지만, 해결되지 않은 게시물에 대해서는 _하락_이 되어야 합니다.
해결책 없이 닫힌 게시물은 거의 쓸모가 없습니다. 다른 사람이 같은 문제를 겪었지만, 여기에는 그 답이 없으며, 여러분도 답을 제공할 수 없기 때문입니다. 반면, 해결책이 있는 닫힌 게시물은 금과옥조와 같습니다. 단순히 해결된 것을 넘어, 명확하게 해결된 것이기 때문입니다.
해결된 아카이브 게시물은 관련성이 낮을 수 있지만 역사적으로 흥미로울 수 있습니다. 해결되지 않은 아카이브 게시물도 기본적으로 마찬가지입니다 — 아카이브를 찾는다면 아마도 역사적 맥락 때문일 테니, 해결 여부는 정보이지만 그것이 중요하다면 쿼리에 명시적으로 포함해야 합니다.
네, definitely 사용해야 합니다. 기본적으로 요청이 없으면 절대 등장하지 않아야 하는 “워크플로” 카테고리와, 더 중요도가 높은 공지 및 뉴스 카테고리가 있습니다.
이것은 제가 지금 바로 떠올린 아이디어이므로, 미래에 제 의견이 바뀌더라도 책임지지 않겠다는 권리를 주장합니다. 하지만 제 느낌으로는, 아카이브를 제외하고 카테고리 가중치가 모든 토픽 상태 가중치를 무시하도록 하는 것이 좋습니다. 여기서 뉴스 사례를 염두에 두고 있습니다. 뉴스는 신선할 때 검색 결과 상위에 표시되어야 하지만, 일정 시간이 지나면 전혀 표시되지 않아야 합니다. 그리고 게시물을 아카이브로 이동하는 것은 각 사이트가 그 "일정 시간"을 어떻게 정의할지 결정하는 방식이 될 수 있습니다.[1]
대안으로, 그리고 아마도 더 간단한 방법은: 카테고리 가중치가 우선하도록 하고, 카테고리별 옵션으로 "신선한 게시물 우선"을 도입하는 것입니다. 이 옵션이 체크되어 있으면, 시간이 지남에 따라 감소하는 곱셈 계수(예: 2배에서 0.5배로)를 적용하는 것입니다.
그리고 타이머 기반 자동 아카이브 기능 요청(RFE)도 여전히 남아 있지만, 세부 사항이죠! ↩︎
저는 이에 동의하지 않습니다. 주제에 좋은 답변이 있을 수 있지만, 작성자가 이를 해결책으로 표시하는 것을 게을리했거나, 오래된 주제라 해결책 표시 기능이 제공되지 않았을 수도 있기 때문입니다.
열려 있는 게시물은 뱀핑(bumping)할 수 있다는 장점이 있지만, 그 점을 지나치게 중시하진 말아야 한다고 생각합니다. 저는 키워드를 기준으로 더 관련성 높은 콘텐츠를 보고 싶습니다.
아카이브된 게시물에 대해서는 동의합니다. 저에게 이는 더 이상 관련성이 없는 콘텐츠이며, 가중치를 낮출 수 있습니다.
기본값이 true인 사이트 설정 prioritize_solved_topics를 추가합니다.
true로 설정되어 있을 때, 해결된(topics) 항목에 대해 무조건 1.1을 부여합니다.
이것은 여기의 모든 특이한 문제(quirks)를 해결하지는 않지만, 빠르게 상당한 진전을 가져다줄 것입니다.
문제는 확장성 관점에서 볼 때 이 변경 사항이 결코 쉽지 않다는 점입니다.
topics 테이블에는 “solved”(해결됨) 열이 없습니다. 우리가 여기서 할 수밖에 없는 일은 solved에서 topic custom fields로 어떤 종류의 join을 주입하는 것입니다… 이 의미는 이 SQL이 상당히 복잡한 방식으로 변환되어야 함을 뜻합니다:
아니면
solved 플러그인에 LEFT JOIN을 주입해야 합니다: LEFT JOIN topic_custom_fields ts where name = 'accepted_answer_id' and value IS NOT NULL AND and topic_id = topics.id
이 조건 CASE 문장을 변환해야 합니다. 아마도 이는 플러그인을 사용하여 전체 CASE 문장을 구성 가능(composable)하게 만드는 것을 의미할 것입니다.
대안으로 CASE EXISTS(...) THEN 1.1과 같은 것으로 충분할 수 있으며, 이는 left join의 필요성을 제거하지만 자체적인 위험이 따릅니다.
이 문제에 대해 좀 더 생각해 보겠습니다. 여기서의 거대한 도전은 "core"가 해결된(topics)에 대해 아무것도 알지 못하는 상황에서 이 지원을 추가하면서 거대한 혼란(mess)을 만들지 않는 방법을 찾는 것입니다.
제 경우엔 거의 모든 작업이 그렇습니다! 코드가 제대로 작동한다고 확신할 수 있을 때까지 스펙을 제대로 파악하지 못하는 경우가 대부분입니다. 이는 (일부러) 내가 이해하지 못하는 스펙에 맞춰 코드를 작성하는 경우가 많기 때문이기도 합니다. 어른답게 스펙을 먼저 작성해 본 적도 몇 번 있지만, 그런 경우는 꽤 드뭅니다.