-
Elasticsearch 실행: Permission denied 에러개발 2018. 11. 18. 20:51
(ubuntu 기준) elasticsearch는 다음과 같은 명령어로 실행할 수 있다. user1@server /usr/share/elasticsearch bin/elasticsearch 여기서 바로 실행된다면 가장 좋지만, Permission denied 에러가 발생했다. 이 경우, 해당 유저에게 elasticsearch log, 실행파일 등에 접근할 권한이 없다는 뜻이다. Elasticsearch 5.0 이후에서는 root에서 elasticsearch를 실행할 수 없게 했기 때문에 sudo 명령어를 사용한다고 문제가 해결되지 않는다. sudo 명령어를 사용할 경우 어차피 java.lang.RuntimeException: can not run elasticsearch as root 에러가 뜬다...
-
python styleframe: 엑셀 파일에서 폰트, 배경색 등의 속성 읽어오기개발 2018. 11. 18. 20:48
엑셀파일을 다루다보면 background color, font color 등으로 데이터 필터링이 필요한 경우가 있다. 엑셀 파일 내에서 새로운 column을 만들어 이에 대한 정보를 추가적으로 명시할 수도 있지만 데이터가 많은 경우엔 이마저도 쉽지 않다. 이 경우 python의 StyleFrame 라이브러리를 이용하면 이런 작업을 쉽게 해낼 수 있다. How to get cell style value by its backgroud color from StyleFrame import StyleFrame sf = StyleFrame.read_excel('test.xlsx', read_style=True) [x.value for x in sf['column1'] if x.style.fill.bgColor.rg..
-
BM25 in Elasticsearch개발 2018. 11. 18. 19:29
Elasticsearch(이하 ES)에서는 쿼리 서칭 알고리즘으로 BM25를 사용하고 있다. BM25는 TFIDF와 수식적으로 상당히 유사하며, TFIDF에 약간의 변형을 가한 정도이다. BM25의 스코어 식은 아주 간단하게 아래와 같이 나타낼 수 있다. 크게 보면 TFIDF와 마찬가지로 TF * IDF의 값으로 이루어지지만 Normalized TF를 사용한다는 다른 점이 있다. 각각의 term을 좀 더 자세히 써보면 아래와 같다. (where D = document, Q = input document, q = token in document, docCount = 전체 문서 갯수, docFreq = q가 등장한 문서의 갯수) ES는 문서를 총 5개의 shad에 분리해서 넣으며, 따로 옵션을 주지 않을 경..