루이의 개발 블로그

04.옵시디언 - dataview 색인한 파일 검색 하는 방법 본문

메모관련

04.옵시디언 - dataview 색인한 파일 검색 하는 방법

루이96 2024. 2. 4. 10:27

파일 검색 방법

해당 내용은 조회타입 LIST으로 설명하였지만 원하는 종류를 대체해서 사용하셔도 됩니다. LIST,TABLE,CALANDER,TASK 자유롭게 원하는 방식으로 대체해주세요!

구조

```dataview
LIST
FROM "폴더"
WHERE 종류="독후감"
SORT 종류
LIMIT 10
```

 

LIST : LIST 타입으로 조회 합니다.
FROM "폴더" : 경로 폴더에 있는 것을 기준으로 데이터를 조회합니다.
WHERE 종류="독후감" : 메타데이터 종류 Key중 독후감 이라는 값이 존재하는 모든 파일을 조회합니다.
SORT file.ctime : 파일 생성시간 기준으로 정렬합니다.
LIMIT 10 : 상위 10개 데이터만 표시합니다.

너무 많지요? 네 많습니다. 이런걸 사용할 수 있다는 것을 알았으니 저희는 가장 핵심점인 요소만 알아보겠습니다.
LIST, FROM, WHERE 이 세가지만 기억해주세요. 나머지 SORT, LIMIT은 핵심이 아니니 잠시 잊어줍시다.

  • LIST

    전에 설명 드린 조회타입을 의미합니다.

  • FROM

    검색 대상을 설정하는 FROM

    • 종류
      • 폴더 경로

        폴더 경로

        FROM "폴더" 는 어떤 폴더를 기준으로 데이터를 조회할지를 의미합니다. 해당 폴더 안에있는 하위 폴더들도 모두 대상이 되겠지요

        • 폴더
          - 하위폴더1
          - 하위폴더1의 하위폴더1
          - 하위폴더2
          - 하위폴더3
          폴더를 포함한 모든 하위폴더들 모두 대상이 됩니다.
      • 태그

        태그

        FROM #태그 형태도 지원합니다. 이렇게 하면 해당 태그가 포함된 모든 파일을 불러 올 수 있으므로 필요에 따라 원하는 방식을 골라서 사용하시길 바랍니다. 저는 태그를 사용하지 않으므로 폴더 방식을 채택하겠습니다.

    심화 (이 부분은 어렵다면 생략 해도 무방합니다.)

    • 링크파일

      링크파일

      내가 지정한 경로, 태그 외에도 좀 더 색다로운것으로 검색을 해보고 싶은가요? 대상을 링크한 파일을 기준으로 파일을 검색할 수 있습니다.

      ```dataview
      list
      from [[1.Project/4.dataview/링크파일]]
      ```

       

       

      다음과 같이 정의를 합니다. 여기서 주의할 점이 있습니다. 저희가 메모를 하다 보면 제목이 중복 되는 경우가 있는데. 만약에 그냥 파일이름으로 정의 해버리면 문제가 되겠지요? 그렇기 때문에 정확히 어떤 파일을 링크하는지 적어줄 필요가 있습니다. 그렇기때문에 "폴더/파일" 형태로 정확히 어떤 경로에 어떤파일을 기준으로 검색할 것인지 명확히 하는게 좋습니다.

      반대로 대상이 다른 파일을 링크한 리스트를 불러올 수 있습니다.

       

       

       

      ```dataview
      list
      from outgoing([[1.Project/4.dataview/링크파일]])
      ```

       

       

      이 두 방식은 incoming 과 outgoing 링크 리스트를 불러 옵니다.

      첫 번째 방식 incoming은 대상을 연결한 파일을 불러 오며
      두 번째 방식 outcoming은 대상이 연결하고 있는 파일을 불러 온다고 이해하시면 됩니다.

  • where 

    WHERE

    이전에 파일에 색인 했던 것들이 기억나시나요? 드디어 써먹을 곳이 생겼습니다! 이 WHERE를 통해서 우리가 원하는 메타데이터 즉 색인 해놓은 애들을 골라서 조회할 수 있습니다.

    where key = value 형태로 원하는 애들을 골라서 가져올 수 있습니다.

    예시

    where 종류 = 독후감
    where 종류 = "독후감"
    where 별점 <= 4

    두 방식 모두 지원하니까 큰따옴표를 붙여도 안 붙여도 상관 없습니다.

    이 부분은 프로그래밍 코드 관련된 내용 이기 때문에 해당 게시글을 보면서 추가 이해를 해주시면 도움이 됩니다.
    참고 : https://coding-factory.tistory.com/379

    만약에 이해가 안 되신다면 댓글을 남겨주세요 추가적으로 설명 해드리겠습니다!

혹시 파일 이름말고 메타데이터도 옆에 같이 표시하고 싶으시겠지요? 아 파일이 무엇을 의미하는지, 힌트정도는 알아야 메모를 한번이라도 더 열어보겠지요?

다음과 같이 list 옆에 메타데이터를 입력해 줍니다.

```dataview
list 종류
from "1.Project/4.dataview" 
```

- from "폴더 경로" 

 

어떠신가요? 파일이름 옆에 종류 key값에 해당되는 value가 표시되었나요? 그렇다면 성공입니다!

그런데 종류 key값 말고, 다음과 같은 형태로 보여주고 싶으신가요?

  • 파일1: 독후감 (생성일자:2024-02-02)
  • 파일2: 독후감 (생성일자:2024-02-02)
  • 파일3: 독후감 (생성일자:2024-02-02)

아쉽게도 LIST는 할 수 없습니다. LIST는 오직 한 개의 메타데이터 까지만 허용하기 때문입니다. 2개 이상의 메타데이터를 표시하기 위해선 LIST 대신 TABLE을 사용해야 합니다.

해당 기능이 필요하신분은 다음 TABLE에 대해 알아봅시다.

 

 

아래 과정은 포스트 순서대로 읽고 계시다면 생략 가능합니다.

https://luy96.tistory.com/70

 

옵시디언 - dataview 표 형태로 데이터 표시 하기

저는 테이블로 보고 싶어요! 테이블로 보고 싶어하는 분들이 많을 것 같아서 이 챕터에서 테이블로 데이터를 표시하는 것에 대해 설명해 드리겠습니다. LIST와 매우 유사하니 두려워 마세요 LIST

luy96.tistory.com