user2
(Tony)
1
안녕하세요,
제 Discourse에서 와일드카드 검색 기능을 사용할 수 있는 (간단한) 방법이 있을까요?
저는 회사에서 소규모 폐쇄형 Discourse를 로컬로 운영 중입니다. 사용자가 약 10명 정도이므로 대형 커뮤니티 수준의 게시글 양은 아닙니다.
이 Algolia 플러그인을 보았는데 정말 이상적인 것 같지만, 이 경우 포럼을 인덱싱해야 하므로 데이터를 로컬 네트워크 밖으로 보낼 수 없습니다.
"322X"를 검색했을 때 “DE322X” 같은 항목을 찾을 수 있으면 좋겠습니다 
3개의 좋아요
Discourse Data Explorer 을 사용하여 이를 수행하는 몇 가지 방법이 있을 수 있습니다.
-
이 간단한 쿼리를 실행한 후 CSV 버튼을 클릭하여 모든 게시물을 다운로드할 수 있습니다. 그런 다음 다른 프로그램을 사용하여 내보낸 파일에서 검색할 수 있습니다.
`SELECT id, raw from posts`
-
모든 게시물 내용에서 키워드를 검색하기 위한 사용자 정의 데이터 탐색기 쿼리를 작성할 수 있습니다.
여기서 데이터 탐색기를 사용하면 데이터가 로컬 네트워크를 벗어나지 않도록 보장됩니다.
3개의 좋아요
user2
(Tony)
3
감사합니다. 나중에 저장해 둘게요. 유용하게 쓰일 것 같네요 
하지만 이번에는 팀 전체가 검색할 수 있어야 해서, 매번 필요한 내용을 찾으려고 CSV 파일을 덤프하는 건 정말 번거로울 것 같아요 
1개의 좋아요
네, 그렇다면 커스텀 쿼리를 작성하고 UI에서 결과를 확인하는 것이 좋은 방법일 것입니다. 쿼리 작성에 대한 영감을 얻으려면 (Superseded) What cool data explorer queries have you come up with? 을 참고해 보세요.
2개의 좋아요
충분히 작은 사이트라면 다음과 같은 방식으로 작동할 수 있습니다:
-- [params]
-- string :query
SELECT p.id AS post_id,
p.user_id
FROM posts p
WHERE p.raw ~* :query
AND p.deleted_at IS NULL
원한다면 범위를 더 좁히기 위해 특정 카테고리나 날짜 범위를 추가할 수도 있습니다.
작성이 완료되면 특정 그룹이 사용할 수 있도록 공개할 수 있습니다:
다만, 검색 창에서 작동하는 것이 원래 질문자가 원하는 이상적인 방식이라고 생각합니다.
더 많은 수요가 있을 경우를 대비해 Contribute > Feature 채널로 이 주제를 넘기겠습니다.