Discourse 검색이 고장 났나요? '정확한' 일치 대신 '유사'/'부분' 일치 결과를 반환합니다

검색 결과가 정확한 일치 항목 대신 수십 개의 매칭 항목을 반환하고 있습니다. 또한 고급 검색에 입력한 limit 파라미터도 무시되고 있습니다.

예를 들어, 흥미로운 Subreddit 게시물을 발견하여 해당 사용자명이 우리 포럼의 게시물에서 이미 언급되었는지 확인하고 싶었습니다.

그래서 매우 고유한 "PlantOfJazz"를 검색했는데 수십 개의 매칭 스레드가 발견되었습니다. 하지만 그 스레드들 중 어떤 것도 브라우저의 찾기 기능으로 해당 용어를 검색했을 때 일치하는 항목이 없었습니다. 그런 다음 개인 메시지로 들어가서 같은 검색을 수행해 보았습니다. 그리고 동일한 결과가 나왔는데… 그 결과는 메시지들이 아니라 공개 스레드들이었습니다.

메타 포럼에서도 같은 검색을 수행해 보았습니다. 다시 수십 개가 발견되었습니다. (일부 게시물에는 "Plant"라는 단어가 포함되어 있었습니다. 따라서 부분 일치 항목을 찾는 것으로 보입니다.)

일치 항목이 매우 적을 경우, 부분 일치 항목을 확인하게 되는 이유와 같이 의미론적 AI 결과를 포함하도록 검색 범위를 확장합니다.

음, 네. 이건 이상적인 상황이 아닌 것 같습니다. “메시지 내” 검색에 공개된 결과가 채워져서는 안 되니까요.

이는 합리적인 폴백 동작일 수 있습니다. 하지만 정확한 일치 항목이 적거나(또는 없거나) 종료되었음을 보고하고, 의미론적 AI 결과의 시작을 명확히 표시해야 합니다.

그렇게 작동하는 면도 있습니다.

정말 실망스러운 사실은, 이 주제가 첫 번째 결과로 나타나야 한다는 점입니다. 개인 메시지는 아니지만, 완전 일치 항목을 포함하고 있습니다.

또 다른 점. "AI 결과"라는 용어가 다소 이상하게 느껴집니다. “유사 결과” 정도가 어떨까요?

이상하네요. 저희 사이트에서는 그런 일이 일어나지 않았고… 제 테스트에서도 그런 현상은 없었습니다. 물론, 이 스레드가 인덱싱된 콘텐츠에 반영되면 테스트 케이스에 "결과 없음"이 더 이상 표시되지 않을 것입니다.

"Discobot discoveries"는 사이트에서 활성화되어 있지 않은 것 같습니다.

아, 그렇군요. (다만 Discobot 검색은 우리가 설치하지 않은 애드온일까요?) 여기 검색 미리보기에는 나와 있습니다. 하지만 Enter를 누른 이후의 결과에는 정확한 일치와 유사한 일치 간의 구분이 표시되지 않습니다… 단순히 “결과 없음”이 발견되었음을 나타내지도요.

아니요. 거기 있습니다. 하지만 “in:messages”로 검색하면 “AI”로 전환되어 찾지 못합니다. 일반 토픽에서 검색하면 찾을 수 있습니다… :roll_eyes:

반대 의견을 드려 죄송하지만, 아니요. Discourse 조직이 운영하는 무료(오픈소스 프로젝트용) 사이트 호스팅에는 없습니다. 방금 포럼과 개인 메시지에서 모두 다시 테스트해 보았습니다.

위에 첨부한 스크린샷(그것은 실제로 포함되어 있었습니다)은 Meta 포럼에서 재테스트했을 때의 것입니다.

저는 (물론) 이 포럼의 이 주제에 대해 말씀드린 것입니다.

네, 위에서 언급했듯이 전체 페이지 검색에서 매치가 0개일 때 검색을 자동으로 확장합니다.

모두를 혼란스럽게 하는 부분은, 검색 결과가 3개 미만일 때 헤더의 빠른 검색에서도 이를 수행하기 시작했다는 것입니다. 하지만 거기서는 추가된 결과가 의미론적 검색에서 온다는 것을 나타내는 어떤 표시도 없습니다. 왜냐하면 그런 표시를 추가할 공간이 너무 작다고 판단했기 때문입니다.

저희의 절충안은 각 결과에 ai-search-result를 추가하는 것이었습니다. 이를 통해 사이트는 테마 설정 기능을 사용하여 이러한 결과를 다른 방식으로 테마를 적용하거나 필요한 경우 어떤 표시든 추가할 수 있습니다.

저희의 추론은, 자동 검색 확장이 다른 언어로 검색하는 경우(저희의 의미론적 검색은 다국어 지원입니다), 오타, 동의어 등 많은 상황을 커버한다는 것입니다.

그 경우라면, 하는 옵션을 제공하는 고급 검색 기능이 검색에 도움이 될 것입니다. 오진(false positives)으로 인한 정보 과부하를 제거하기 위해 정확한 검색이 필요한 경우가 많기 때문입니다.

현재 구현 방식은 사용자에게 매우 혼란스럽습니다. 위에서 언급한 예시인 "plantofjazz"로 이 사이트를 검색하면 이 주제가 맨 위에 표시됩니다(좋습니다). 그 아래에는 이것과 같은 다른 주제들도 나옵니다. 그런데 그 중 하나에서 "이 주제 내에서"를 사용하여 "plantofjazz"를 검색하면 "결과 없음"이 표시됩니다. 이는 다른 검색 결과가 모두 잘못된 것이기 때문입니다. 이러한 동작은 적어도 일관성이 없습니다.

Discourse 내부와 같은 사이트 특정 검색은 일반 웹 검색과는 근본적으로 다른 역할을 수행해야 한다고 생각합니다. 일반 웹 검색의 실제 역할은 사용자가 견딜 수 있는 한도 내에서 최대한 많은 광고를 보여주는 것이고, 그 다음에는 검색어(오타 포함)와 어떻게든 관련이 있을 수 있는 사이트들을 보여주는 것입니다. Discourse의 검색은 다릅니다. 하나의 주제에 제한되어 있고, 로그인한 사용자는 무엇을 검색하는지 정확히 알고 있으며 철자도 올바르게 입력할 가능성이 훨씬 높습니다.

"Discobot discoveries"도 마찬가지로 제자리를 찾지 못하고 있지만, 적어도 비활성화할 수는 있습니다.

여러 곳에서 이 피드백을 듣게 되어, 명확성을 위해 관련 메시징을 조금 추가했습니다.