얼마전 프로젝트를 할 때 엘리스틱서치를 사용하기 위해서
라이브러리 수준의 코드를 만들었었기 때문에, 나의 코드와 라이브러리의 코드를 비교해보고 싶어서 코드를 읽어보게 되었다
https://github.com/elastic/elasticsearch-dsl-py/blob/master/elasticsearch_dsl/search.py
우선 search.py 파일 Search 클래스의 filter부터 봤다
filter 메서드는 query 메서드의 wrapper처럼 동작한다
그리고 query 메서드는, 실제로는 메서드가 아니라 ProxyDescriptor라는 오브젝트이다
그리고 실제로 query문은 query.py Q 펑션에 의해 세팅된다 (ProxyDescriptor.__set__()에서 볼수있듯이)
Q는 Query
- 추가 예정 -
'Language > python' 카테고리의 다른 글
[python] OSError: raw write error (during scrapy crawling) (0) | 2018.04.06 |
---|---|
[python] SQLAlchemy (0) | 2018.04.06 |
[python] pycharm interpreter console error (0) | 2018.04.06 |
[python] pyreadline 패키지 (0) | 2018.04.06 |
[python] ImportError: No module named 'win32api' (1) | 2018.04.03 |
WRITTEN BY
- hojongs
블로그 옮겼습니다 https://hojongs.github.io/