역 색인을 만들고 사용자 쿼리를 기반으로 한 유사성 알고리즘을 적용해야하는 작은 프로젝트에서 작업 중입니다. 기본 정보 검색입니다. 역 색인 생성 및 검색을위한 NoSQL 제품은 무엇입니까?역 색인의 NoSQL
감사합니다, J
역 색인을 만들고 사용자 쿼리를 기반으로 한 유사성 알고리즘을 적용해야하는 작은 프로젝트에서 작업 중입니다. 기본 정보 검색입니다. 역 색인 생성 및 검색을위한 NoSQL 제품은 무엇입니까?역 색인의 NoSQL
감사합니다, J
역 인덱스 모든 문서 내의 단어와 그 위치 사이의 관계를 저장하는 약이기 때문에, 나는이 정말 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 문서 한도를 초과 할 수도 있습니다.
참조
- 분산, 확장 성, 고 가용성
- 실시간 검색 및 분석 기능
- 정교한 편안하고 API