Lucene 문서 원본 보기
←
Lucene
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
검색 엔진인 Lucene을 정리 합니다. *홈페이지 : http://lucene.apache.org/ :*[http://cafe.naver.com/korlucene 루씬 한글 분석기 오픈소스 프로젝트 / Apache 2.0] :*http://sourceforge.net/projects/lucenekorean/ :*매뉴얼 : http://lucene.apache.org/core/4_8_1/index.html ::*http://lucene.apache.org/java ::*http://wiki.apache.org/lucene-java *다운로드 : *라이선스 : *플랫폼 : [[Java]] == Lucene 개요 == === Lucene Architecture === :[[File:Lucene.png|700px|Lucene.png]] === Lucene Process === :[[File:LuceneProcess.png|700px|LuceneProcess.png]] === Lucene Score === [[File:LuceneScore.png|700px|LuceneScore.png]] === Lucene 용어 === {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- | width="30%" align="center" valign="middle" style="background-color:#eee;" | 용어 | width="70%" align="center" valign="middle" style="background-color:#eee;" | 상세 |- | align="center" valign="middle" | '''<span style="color:#0000FF;">Document</span>'''<br/>(DBMS의 record) | *기본적인 정보의 저장 단위로써, 수집한 row content를 Field의 집합으로 관리 *<span style="color:#0000FF;">'''Field'''</span> : Document를 구성하고 있는 항목 :*name, fieldType, value로 구성 |- | align="center" valign="middle" | <span style="color:#0000FF;">'''Analyzer'''</span> | *Field의 value (text)로 부터 token을 추출 *Analyzer 구성 (아래 순서대로 실행됨) **<span style="color:#0000FF;">'''CharFilter'''</span> : 전체 문자열 전처리 (복수) <- 입력은 reader **<span style="color:#0000FF;">'''Tokenizer'''</span> : 전체 문자열을 Token으로 분할 <- 입력은 Reader **<span style="color:#0000FF;">'''TokenFilter'''</span> : Token에 대한 필터링 처리 (복수) <- 입력은 TokenStream |- | align="center" valign="middle" | Index<br/>(DBMS의 database) | *<span style="color:#0000FF;">'''Directory'''</span> : Lucene 인덱스가 저장된 폴더 *Segment :Subindex. Index를 구성하는 요소로 독립적인 index 정보를 가짐 **segment_x **_y.si : Segment Info, _y.cfs : Compound FileWriter , _y.cfe : Compound FileWriter *<span style="color:#0000FF;">'''Term'''</span> : 저장과 검색을 위한 기본 단위 :*field name과 word (text)로 구성 |- | align="center" valign="middle" | <span style="color:#0000FF;">'''Query'''</span> | *검색어 : Search String을 Lucene에서 사용하는 문법으로 변환한 것 *종류 : TermQuery, BooleanQuery, WildcardQuery, PhraseQuery, PrefixQuery, MultiPhraseQuery, FuzzyQuery, RegexpQuery, TermRangeQuery, NumericRangeQuery, ConstantScoreQuery, DisjunctionMaxQuery, MatchAllDocsQuery |- | align="center" valign="middle" | '''<span style="color:#0000FF;">Filter</span>''' | *종류 : CachingWrapperFilter, DocTermOrdsRangeFilter, FieldCacheRangeFilter, FieldCacheTermsFilter, FieldValueFilter, MultiTermQueryWrapperFilter, NumericRangeFilter, PrefixFilter, QueryWrapperFilter, TermRangeFilter |- | align="center" valign="middle" | TopDocs | *검색한 문서의 ID (docID)를 저장 |- | align="center" valign="middle" | <span style="color:#0000FF;">'''Scorer'''</span> | *종류 : BoostScorer, BulkScorer, ConjunctionScorer, DisjunctionMaxScorer, DisjunctionScorer, DisjunctionSumScorer, ExactPhraseScorer, FakeScorer, MinShouldMatchSumScorer, ReqExclScorer, ReqOptSumScorer, ScoreCachingWrappingScorer, SloppyPhraseScorer, TermScorer |} ==Lucene Query language== {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- |width="30%" align="center" valign="middle" style="background-color:#eee;"|문법 |width="70%" align="center" valign="middle" style="background-color:#eee;"|상세 |- |align="center" valign="middle"|"term" | *"로 묶인 경우 중간에 공백이 있어도 하나의 term으로 처리 |- |align="center" valign="middle"|AND, OR, NOT, () | *논리 연산자, 생략된 경우에는 OR가 사용됨 |- |align="center" valign="middle"|+term, -term | *+term : 반드시 term이 있어야 함 *-term : 반드시 term이 없어야 함 |- |align="center" valign="middle"|field:term | *field 내에서 term 검색 |- |align="center" valign="middle"|term~n, "term"~n | *writer~2 : writer와 writers 검색 *"master search"~2 : "master search"와 "master book search" 검색 |- |align="center" valign="middle"|[termFr TO termTo] | *[10.00 TO 15.00] : 10.00에서 15.00까지 검색 *[Adam To Adria] : Adam에서 Adria까지 검색 |- |align="center" valign="middle"|\특수문자 | *\를 사용하여 특수 문자 표시 |} ==자연어 처리== *자연어 처리 (Natural Language Processing, NLP) : 형태소 분석 -> 구문 분석 -> 의미 분석 :*형태소 분석 (Morphological Analysis) : 문장을 형태소로 분해하고 각 형태소에 품사 등을 결정 :*구문 분석 : 문법 규칙 및 여러 종류의 규칙에 의해 문장을 해석하고 그 구조를 명확히 함 :*의미 분석 (Semantic Analysis) : 형태소의 의미를 해석 *자연어 처리 관련 용어 :*자모 : 문자 체계의 한 요소 (자음, 모음) :*용언 : 꾸미는 말 (동사, 형용사) :*어간 (stem) : 용언이 활용할 때, 원칙적으로 모양이 변하지 않는 부분 :*어미 : 용언이 활용할 때 변하는 부분으로 문법적 기능을 수행 :*품사 : 명사, 대명사, 수사, 동사, 형용사, 관형사, 부사, 감탄사, 조사 :*형태소 (Morpheme) : 의미를 가진 최소의 언어 단위 :*어절 분류 ::*NP_SBP : 명사 + 주격 조사 ::*NP_OBJ : 명사 + 목적격 조사 ::*NP_MOD : 명사 + 관형격 조사 ::*VP : 동사 + 연결 어미 또는 동사 + 선어말 어미 + 종결 어미 *자연어 처리의 형식적 모델 :*n-gram : 문자의 빈도와 문자간 관계 :*Finite Automaton Model (유한 오토마톤 모델) : 인접한 단어간 문법적 제약을 수학적으로 모델링 *자연어 처리 평가 :*정확도 (precision) : 실험 결과가 true인 것 중에서 실제 true인 것의 비율 :*재현율 (recall) : 실제 true인 것 중에서 실험 결과가 true인 것의 비율 :*정밀도 (accuracy) : 전체 결과 중 실제 정답과 같은 결과를 내놓은 실험 결과의 비율 *참고 문헌 :*[http://shineware.tistory.com/entry/KOMORAN-ver-112-%EC%9E%90%EB%B0%94-%ED%95%9C%EA%B8%80-%ED%98%95%ED%83%9C%EC%86%8C-%EB%B6%84%EC%84%9D%EA%B8%B0 KOMORAN ver 1.12 (자바 한글 형태소 분석기), 2013.06] :*[http://blog.secmem.org/281 자연어 처리와 형태소 분석의 기초 #1, 2013.10] :*[http://blog.secmem.org/282 자연어 처리와 형태소 분석의 기초 #2, 2013.10] ==색인기== *[http://kkma.snu.ac.kr/ 꼬꼬마 형태소 분석기, Java] *참고 문헌 :*http://blog.naver.com/PostView.nhn?blogId=hisukdory&logNo=50173464712 ==Lucene 개발 환경== *라이브러리 #--- 공통 라이브러리 commons-logging-1.1.1.jar log4j-1.2.16.jar #--- Lucene 라이브러리 lucene-core-4.8.1.jar lucene-analyzers-common-4.8.1.jar lucene-queryparser-4.8.1.jar lucene-suggest-4.8.1.jar lucene-queries-4.8.1.jar #--- ElasticSearch 라이브러리 elasticsearch-1.2.0.jar elasticsearch-analysis-korean-1.3.0.jar #--- Arirang 한글 형태소 분석기 포함 == 관련 오픈소스 == {| cellspacing="0" cellpadding="2" style="width: 100%;" border="1" |- | style="text-align: center; background-color: rgb(241, 241, 241);" | 이름 | style="text-align: center; background-color: rgb(241, 241, 241);" | 종류 | style="text-align: center; background-color: rgb(241, 241, 241);" | 상세 |- | style="text-align: center;" | [[Nutch|Nutch]] | style="text-align: center;" | 웹 수집기 | [http://lucene.apache.org/nutch http://lucene.apache.org/nutch] |- | style="text-align: center;" | [[Grub|Grub]] | style="text-align: center;" | 웹 수집기 | [http://www.grub.org/ http://www.grub.org/] |- | style="text-align: center;" | [[Heritrix|Heritrix]] | style="text-align: center;" | 웹 수집기 | [http://crawler.archive.org/ http://crawler.archive.org/] |- | style="text-align: center;" | [[Droids|Droids]] | style="text-align: center;" | <br/> | [http://incubator.apache.org/droids http://incubator.apache.org/droids] |- | style="text-align: center;" | [[Apeture|Apeture]] | style="text-align: center;" | 수집기 | [http://aperture.sourceforge.net/ http://aperture.sourceforge.net/] |- | style="text-align: center;" | Google Enterprise<br/>Connector Manager<br/> | style="text-align: center;" | Connector | <div>[http://code.google.com/p/google-enterprise-connector-manager http://code.google.com/p/google-enterprise-connector-manager]</div> |- | style="text-align: center;" | <br/> | style="text-align: center;" | DB 연동 | <div>DBSight, Hivernate Search, LuSQL, Compass, Oracle/Lucene integration</div> |- | style="text-align: center;" | [[Solr|Solr]] | style="text-align: center;" | 분산 검색 엔진 | [http://lucene.apache.org/solr http://lucene.apache.org/solr]<br/> |- | style="text-align: center;" | [[Tika|Tika]] in Solr<br/> | style="text-align: center;" | 수집기 | 문서 필터링 |- | style="text-align: center;" | [[ElasticSearch|ElasticSearch]] | style="text-align: center;" | 분산 검색 엔진 | [http://www.elasticsearch.com/ http://www.elasticsearch.com/]<br/> |} == 참고 문헌 == *[[Solr|Solr]], [[ElasticSearch|ElasticSearch]] *[[Nutch|Nutch]] : 오픈 소스 인터넷 웹 검색엔진 프로젝트 *[[RegExp|RegExp]] *[http://opennlp.apache.org/ OpenNLP] *[https://yungyikim.atlassian.net/wiki/pages/viewpage.action?pageId=491535 Lucene 4.* 이클립스에 올리기, 2014.03] *[http://drypot.tumblr.com/post/11314194090/lucene LUCENE 기초, 2011.02] *[http://linuxism.tistory.com/898 루씬(Lucene) 개요 및 원리, 2012.09] *[http://blog.naver.com/PostView.nhn?blogId=yalleeya&logNo=110124289679 풀 텍스트 검색엔진 Lucene 1부, 2011.11] *[http://blog.naver.com/PostView.nhn?blogId=yalleeya&logNo=110124289708&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 풀 텍스트 검색엔진 Lucene 2부, 2011.11] *[http://gurubehc.wordpress.com/2014/01/19/nlp/ 자연어처리, 2014.01] *인공지능 - 자연어 처리 :*[http://hub-ai.com/nlp/412 http://hub-ai.com/nlp/412] :*[http://hub-ai.com/nlp/417 http://hub-ai.com/nlp/417] :*[http://hub-ai.com/nlp/419 http://hub-ai.com/nlp/419] :*[http://hub-ai.com/nlp/424 http://hub-ai.com/nlp/424] :*[http://hub-ai.com/nlp/428 http://hub-ai.com/nlp/428] :*[http://hub-ai.com/nlp/430 http://hub-ai.com/nlp/430] :*[http://hub-ai.com/nlp/433 http://hub-ai.com/nlp/433] :*[http://hub-ai.com/nlp/438 http://hub-ai.com/nlp/438] :*[http://hub-ai.com/nlp/441 http://hub-ai.com/nlp/441] :*[http://hub-ai.com/nlp/443 http://hub-ai.com/nlp/443] *Score :*[http://lucene.apache.org/core/4_8_1/core/org/apache/lucene/search/package-summary.html#scoring http://lucene.apache.org/core/4_8_1/core/org/apache/lucene/search/package-summary.html#scoring] :*[http://lucene.apache.org/core/4_8_1/core/org/apache/lucene/search/similarities/TFIDFSimilarity.html http://lucene.apache.org/core/4_8_1/core/org/apache/lucene/search/similarities/TFIDFSimilarity.html] [[Category:Search|Category:Search]]<br/>[[Category:BigData|Category:BigData]]
Lucene
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보