검색 기능은 notoriously 잘 구현하기 어렵기로 유명하지만, 개선의 여지가 분명히 있다는 데 동의합니다.
저도 가끔 같은 주제를 찾지 못해 애를 먹곤 했는데, 해당 주제 내의 키워드를 조금 더 다듬으면 도움이 될 것 같습니다. Documentation 카테고리나 how-to 태그를 포함하면 검색 결과가 눈에 띄게 좋아집니다(이런 것이 필요 없어야 한다는 점에는 동의합니다!)
또한 Typesense를 사용하여 검색을 개선할 수 있는 새로운 검색 플러그인을 실험 중입니다(다음 몇 주 안에 Meta에서 테스트할 수 있는 것을 준비할 수 있기를 바랍니다) — 내부 데모에서 "settings in themes"를 검색하면 해당 주제가 4번째 결과로 나타납니다. 이는 다소 유망해 보입니다.
공정하게 지적하신 말씀이지만, 검색의 난이도는 규모(scale)의 문제가 아니라, 몇 단어로 된 쿼리에서 사용자가 무엇을 보고 싶어 하는지 예측하는 문제입니다. 인터넷의 나머지 99.99999999999%와 하루 85억 건의 검색 데이터를 학습 자료로 활용할 수 있다는 점은 그 측면에서 꽤 도움이 됩니다.
다시 말하지만, 저는 디스커스(Discourse)의 검색 기능이 개선될 수 있다고 동의합니다. 하지만 구글이 기대해야 할 표준이 되어야 한다고는 생각하지 않습니다.
추가로 한 가지 말하고 싶은 것은, 이것이 ‘검색’ 문제라기보다는 ‘조회(lookup)’ 문제일 수도 있다는 점입니다. 이 경우 검색 결과가 나쁜 것은 아니지만, 특정적으로 찾고 있는 정확한 페이지가 나오지 않을 뿐입니다. 아마 해결책은 북마크 검색을 더 두드러진 기능으로 만드는 것일 수도 있고, 자주 참조되는 중요한 주제들을 우선시하는 다른 해결책일 수도 있습니다.
이건 아마도 의미론적으로 너무 깊이 들어가는 것일 수 있지만, 나는 이 구분이 중요하다고 생각합니다. 검색은 사용자가 머릿속에 생각하고 있는 결과를 가져오는 것이 아니라, 검색어와 관련된 결과를 가져옵니다.
"settings in themes settings.yml"이라는 검색어는 "settings.yml"과 "themes"가 포함된 결과를 제공합니다. 따라서 그 결과들은 틀린 것이 아닙니다. 문제는 사용자가 실제로 원하는 것, 즉 테마에 설정을 추가하는 방법(how-to)에 대한 가이드라는 일부 맥락이 검색어에서 빠져 있다는 점입니다. 찾고 있는 주제를 더 구체적으로 명시하면 쉽게 찾을 수 있습니다.
구글의 마법은 매일 수억 건의 검색 사례를 활용하여 검색어에서 많은 숨겨진 맥락을 추론해낼 수 있다는 점입니다.
어쨌든, 여기서 제가 전달하려는 전체적인 핵심은 만약 도서관에 간다면, 일반적인 "요리책"을 찾는 방식과 "Gordon Ramsay’s Home Cooking"이라는 특정 책을 찾는 방식은 다를 것이라는 점입니다. 이 비유에서 Discourse는 원하는 모든 요리책을 제공하기에 충분히 좋지만, Gordon Ramsay’s Home Cooking을 찾아내는 좋은 방법은 실제로 없습니다. 특히 정확한 제목을 기억하지 못할 때 더욱 그렇습니다. 제 Discourse에서 중요한 많은 주제들이 종종 심연에 묻히는 것을 발견합니다. 해결책이 제 문서 섹션을 개선하는 것일 수도 있고, 검색 기능의 개선이 도움이 될 수도 있습니다. 아마도 상단에 표시되는 추천 검색 결과 같은 기능이 필요할까요? 저는 답을 가지고 있지 않으며, 단지 문제를 좀 더 구체적으로 풀어보고자 할 뿐입니다
즉, "정확한 위치를 알고 있는 경우"라는 뜻입니다. 이것도 나쁜 선택지는 아니지만, 현실적인 상황에서는 적용되지 않습니다.
저는 제 포럼에서 의미론적 검색(semantic search)을 비활성화했습니다. 그것은 그저 무작위 주제 목록일 뿐이며, 원하는 것이 없을 때 제가 원하는 것이 아닙니다. 여기서도 마찬가지입니다. 의미론적 검색은 제대로 작동하지 않으면서 노이즈만 증가시킵니다.
오해하지 마세요. 또 다른 구글을 기대하는 것은 아닙니다. 그리고 괜찮은 검색 엔진을 코딩하는 것은 매우 어려울 것입니다. 왜냐하면 그런 것이 존재하지 않기 때문입니다 — 실제 검색 엔진을 제외하고는요. 또한 빙(Bing)이 디스코urs의 기본 검색보다 낫다고도 할 수 없습니다.
반대로, 그것이 바로 현실이 작동하는 방식입니다. 물리적 현실에는 마법 같은 검색 기능이 없으므로, 모든 것을 체계적으로 정리해 두어야 합니다. 왜냐하면 그것을 찾을 때 정확한 위치가 필요하기 때문입니다. 이것이 도서관과 아카이브가 세워진 전체 전제입니다.
어쨌든 이는 상당히 주제에서 벗어난 이야기입니다. 제가 말하고자 한 것은 모든 토론 제목을 암기해야 한다는 것이 아니었습니다. 특정 결과를 찾고 있다는 것을 검색 엔진에 알려주는 컨텍스트 계층이 빠져 있다는 것이었습니다. 구글은 이를 추론할 수 있는 마법 같은 능력을 가지고 있어 거대한 이점을 누립니다.
아마도 Discourse에는 더 유도적인 검색이 필요할 것입니다. Typesense는 매우 좋은 출발점이며, 이에 기대하고 있습니다. 하지만 제 사이트에서 느끼는 좌절감은 카테고리와 태그를 정성스럽게 큐레이션하는 데 많은 시간을 들이고도, 그것들에서 온전한 가치를 끌어내지 못하고 있다는 느낌입니다. 검색 시 태그나 카테고리를 통해 사용자를 유도하는 것이 가능한지 궁금합니다. 즉, 모든 검색 결과를 집계하고 태그를 집계한 후, 이를 사용자를 위한 1클릭 필터로 제공하는 것입니다. 이 경우 how-to 태그는 원치 않는 결과와 정확한 결과를 구분하는 거의 유일한 컨텍스트 조각입니다.