2017-01-06 1 views
2

줄이고 또한 루씬는되는 NoSQL 데이터베이스가 /지도 (루씬 같은) 검색을 나는 데이터의보기를 프로젝트에 맵리 듀스를 사용할 수 cloudant을 사용하고

그러나이 두 기능을 사용하여 문서를 검색 할 수 수 있습니까 별도의 내가 각 사용자가 항목을 가지고이

{ 
    name: "" 
    items:[]   
} 

같은 userData로 게임을 가정 함께

사용할 수 없습니다. 그런 다음 사용자가 품질이 +10 인 모든 검을 찾을 수있게하려고합니다. 구름과 나는 유형과 품질을 키로 사용하고 쿼리를 사용할 수도 있습니다. key=["sword",10]

그러나 lucene이 할 수있는 것보다 더 복잡한 쿼리를 만들 수는 없습니다. lucene하려면 모든 항목을 문서화하여 소유자와 참조해야합니다.

데이터 프로젝션 키에 대해 lucene 검색을 수행하고 싶습니다. 내 말은, 정규화 대신 중첩 된 문서를 원하는대로 저장할 수 있고 직접 문서를 검색 할 수 있도록지도/축소를 사용하여 문서 내에서 데이터를 검색 할 수 있습니다.

PS. 이 데이터베이스는 본질적으로 스크립트에 의해 부분적인 업데이트가 그리고 만약 내가 전혀 확인 내가 제대로 질문을 가지고 있다는 아니라고 최고의

답변

2

시도해보십시오. elasticsearch. 당신이 aggregations을 지원 elasticsearch 더 복잡한 분석을해야하는 경우 사용 사례가 search api

에 포함되어야처럼

보인다.

+0

내가 갖고 싶은 것에 관련된 중첩 된 객체 기능이있는 것 같다. 나는 그것을 살펴볼 것이다. 덕분에 – Thaina

+0

참으로 매우 유용합니다! 나는 응용 프로그램에 대한 riak 대신 elasticsearch로 이동하는 것이 의미가 있는지 확인합니다. – vefthym

2

것 트랜잭션 업데이트 기능을 가지고 있지만, 당신은 riak에서 살펴 봐야 할 수 있습니다. 그것은 solr-based 검색을 제공합니다. 이것은 꽤 well documented입니다. 나는 분산 된 키 - 값 인덱스를 통한 분산 검색을 위해 과거에 이것을 사용했으며 매우 빨랐다.

이것을 사용하는 경우 syntax of solr queries도 필요하므로 시간을 절약하기 위해 여기에 추가하십시오. 그러나 모든 solr 쿼리 기능이 riak에서 사용할 수있는 것은 아닙니다 (최소한 필자가 사용했을 때).

1

작업을 수행 할 수있는 여러 가지 솔루션이 있습니다. 나는 잘 설립 된 MongoDB를 제안하는 나의 2 센트를 줄 수있다. MongoDB를 사용하면 주어진 필드에 텍스트 인덱스를 만든 다음 here과 같은 전체 텍스트 검색을 수행 할 수 있습니다. 이 기능은 버전 2.4 이후의 MongoDb에 있으며 구문은 MongoDB 문서에 잘 설명되어 있습니다.

+0

글쎄, 내가 올바르게 기억한다면. Mongo는 couchdb와 마찬가지로 문서 만 검색하기 위해 전체 텍스트 검색 만 할 수있었습니다. 나는 couchdb보다 더 나은 것을 찾고 싶다. – Thaina

관련 문제