나는 탄성 검색에 빠른 질문이 있습니다. HTML 파일이 있는데 다른 필드가있는 색인에 저장하려고합니다. 나는 두 개의 서로 다른 인덱스를 다음과 같이 만든탄성 검색 인덱스 크기
,
옵션 1 : 바이너리로 필드를 가지고 base64로 에 html로 변환
(myindex1는, HTML을 필드가 compresed되는 인덱스의 이름과 base64로 값이다)HTML = (zlib.compress(Html.encode('utf-8'),9)).encode('base64')
위의 코드를 사용하여 myindex1에로드하기 전에 base64로 압축하고 인코딩합니다.
"Html": {
"type": "binary",
"index": "no",
"include_in_all": false,
doc_values : false,
store : true,
},
Oprion 2는 문자열 필드 에서와 같이 표시되는 HTML이 (myindex2 인덱스 이름의 HTML 필드는 그대로 플레인 스트링이다)
"Html": {
"type": "string",
"index": "no",
"include_in_all": false,
doc_values : false,
store : true,
},
실험 : 1) 내가 2) 압축하여 "Html"을 base64로 변환하고 ES 인덱스 (myindex1) 에로드 3) 동일한 10k 데이터 샘플을 myindex2에로드했습니다.
이론적으로 압축 된 데이터의 크기는 작아야합니다. 그래서 내 가정은 myindex1 크기가 myindex2보다 작아야한다는 것입니다.
하지만 그것을 verifed 때
- myindex1 -> 228.3mb
- myindex2 - 우리는 (압축 없음) myindex2의 크기로서 상기 참조> 222.3mb
작습니다.
왜 myindex2 크기가 myindex1보다 작습니까?
답장을 보내 주셔서 감사합니다. 내가 압축에 의해 의미했던 것은 : Html = (zlib.compress (Html.encode ('utf-8'), 9)). encode ('base64'). 사실 Python에서 zlib을 사용하여 문자열을 압축 한 다음 Base64로 변환합니다. – Backtrack
내 질문이 업데이트되었습니다. 나는 Zlib을 사용하여 option1에 Html을 압축한다. – Backtrack
zlib 부분은 꽤 중요한 정보 비트였습니다 :-) – Val