2012-04-17 2 views
2

역 색인을 만들고 사용자 쿼리를 기반으로 한 유사성 알고리즘을 적용해야하는 작은 프로젝트에서 작업 중입니다. 기본 정보 검색입니다. 역 색인 생성 및 검색을위한 NoSQL 제품은 무엇입니까?역 색인의 NoSQL

감사합니다, J

답변

1

역 인덱스 모든 문서 내의 단어와 그 위치 사이의 관계를 저장하는 약이기 때문에, 나는이 정말 NoSQL에 대한 좋은 사용 사례입니다 확실하지 않다. 전통적인 SQL은 여기서 더 잘 작동 할 것입니다. 예를 들어, 다음과 같은 데이터 구조 시도 : 당신이 Documents 테이블에 문서를 삽입으로,이 구조

Documents (DocumentID primary key, DocumentText text) 
Words (WordID primary key, Word text) 
Instances (InstanceID primary key, WordID foreign key, DocumentID foreign key, WordIndex integer) 

를, 각 단어를 구문 분석하고 새로운 경우 Words 테이블에 추가하거나 기존 검색 WordID이 이미 있으면 해당 데이터를 Instances 테이블에 추가하십시오.

NoSQL을 사용하려는 경우 MongoDB와 같이 사용할 수 있으며 모든 문서를 하나의 컬렉션에 넣고 모든 단어를 다른 컬렉션에 넣습니다. 각 Word 문서 내에는 배열이 포함됩니다.이 배열은 연관된 문서의 ObjectID 및 해당 문서의 단어 색인이있는 객체의 배열입니다. 그러나 MongoDB가 문서 내에서 그러한 큰 배열을 처리하는 데 최적화되어 있는지 확실하지 않습니다. 'a'및 'the'와 같은 일반적인 단어는 데이터의 양에 따라 4MB 문서 한도를 초과 할 수도 있습니다.

0

Elasticsearch

  • 분산, 확장 성, 고 가용성
  • 실시간 검색 및 분석 기능
  • 정교한 편안하고 API
참조