2019년 2월 26일 화요일

Python 3.x 에서 Dictionary 정렬하기

Python 3.x 에서 Dictionary를 value가 큰 순으로 정렬하는 여러가지 방법


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
def dict_val(x):
    return x[1]

x = {"python": 2, "blah": 4, "alice": 3}

#일반적인방법
sorted_x1 = sorted(x.items(), key=dict_val, reverse=True)
print('sorted_x1',sorted_x1)

#lambda를 이용하는 방법
sorted_x2 = sorted(x.items(), key=lambda t: t[1], reverse=True)
print('sorted_x2',sorted_x2)

#zip을 이용하는 방법
sorted_x3 = sorted(zip(x.values(), x.keys()), reverse=True)
print('sorted_x3',sorted_x3)

결과:

  • sorted_x1 [('blah', 4), ('alice', 3), ('python', 2)] 
  • sorted_x2 [('blah', 4), ('alice', 3), ('python', 2)] 
  • sorted_x3 [(4, 'blah'), (3, 'alice'), (2, 'python')]


2019년 2월 11일 월요일

lucene-analysis-nori 사전교체 방법

(환경)
Windows7, solr-7.6.0, apache-ant-1.10.5, mecab-ko-dic-2.1.1-20180720


(JDK 미설치시)

  • JAVA설치
  • %JAVA_HOME% 시스템변수 추가
  • %ANT_HOME% 시스템변수 추가
  • Path에 각각 실행경로 추가
    • %JAVA_HOME%\bin
    • %ANT_HOME%\bin





(SOLR 미설치시)

  1. solr zip파일 다운로드 (http://lucene.apache.org/solr/mirrors-solr-latest-redir.html)
  2. 원하는 곳에 압축해제 (%JAVA_HOME%\solr-7.6.0)
  3. 콘솔실행(CMD) 후 solr start
  4. solr create -c [CoreName] (코어 이름은 원하는대로..)
  5. solr restart



(SSL 인증서 오류가 발생하는 경우 → https)

  1. cd %JAVA_HOME%\Java\jdk버전\jre\lib\security
  2. ..\..\bin\keytool -import -alias HQSSL -file "%JAVA_HOME%\HQSSL.cer" -keystore cacerts -storepass changeit
    • 이 인증서를 신뢰합니까? [아니오]: 
    • 인증서가 키 저장소에 추가되었습니다.



  • 참고) npm config set cafile %JAVA_HOME%\HQSSL.cer (https://www.npmjs.com/get-npm)



(첫실행시)

  1. 디렉토리생성 mkdir -p ~\lucene\analysis\nori\src\resources\org\apache\lucene\analysis\ko\dict
  2. cd %JAVA_HOME%\lucene\analysis\nori
  3. ant ivy-bootstrap
  4. ant regenerate



(이후 사전갱신 시)

  1. cd %JAVA_HOME%\lucene\analysis\nori
  2. %JAVA_HOME%\lucene\build\analysis\nori\mecab-ko-dic-2.1.1-20180720 (이곳에 csv파일 복사)
  3. ant regenerate
  4. cd ..
  5. ant nori
  6. %JAVA_HOME%\lucene.analyzers.nori\lucene\build\analysis\nori\lucene-analyzers-nori-7.6.0.jar (jar 생성됨)
  7. %JAVA_HOME%\solr-7.6.0\server\solr-webapp\webapp\WEB-INF\lib\lucene-analyzers-nori-7.6.0.jar (jar파일 이곳으로 복사)


잡담) 설정 잡는거나 설치하는게 개짜증이네. 이래서 JAVA가 싫어. ㅠㅠ