2010-02-22 3 views
3

저는 큰 사전 (100k ~ 1m 단어)으로 검색하는 프로젝트를 진행하고 있습니다. 사전 항목은 {key, value, freq}와 같습니다. Myy 작업은 정확한 일치, 접두사 일치 및 와일드 카드 일치를 지원하는 증분 검색 알고리즘을 개발하는 것입니다. 결과는 주파수별로 정렬해야합니다. 예를 들어큰 사전에 와일드 카드 검색을 지원하는 가장 좋은 방법은 무엇입니까?

: 사전 보이는

key1=a,value1=v1,freq1=4 
key2=ab,value2=v2,freq2=2 
key3=abc,value3=v3 freq3=1 
key4=abcd,value4=v4,freq4=3 

같은 경우 사용자 유형 'A', 반환 V1, V4, V2, V3
때 사용자 유형? 'ㄷ', 반환 V4, v3

이제 최선의 선택은 DAWG 데이터 구조체로 표시되는 접미어 트리이지만이 방법은 와일드 카드 일치를 효과적으로 지원하지 않습니다.

의견이 있으십니까?

+1

새 사용자로서 불쾌감을 느끼지 말고 자신이 sms 스타일로 작성하여 불쾌감을 느끼지 않도록하십시오. 명확한 구두점과 대문자 사용은 질문을 훨씬 더 가독성있게 만들어 주며 더 많은 사람들이 대답을합니다. 자주 묻는 질문 : * 좋은 답변을 얻으려면 질문에 약간의 노력을 기울여야합니다. * –

답변

0

콘텐츠 인덱싱에 n 그램을 조사해야합니다. Out-of-the-box를 원한다면, Apache Solr을보고 싶을 것입니다.이 작업은 많은 노력을합니다. 또한 접두사, 와일드 카드 쿼리 등을 지원합니다.

관련 문제