2013-03-24 4 views
2

프로덕션 환경에서 MySQL + Amazon CloudSearch를 실행합니다. 개발 중에는 MySQL 만 실행되며 개발을 위해 검색 도메인을 실행하는 것에는 관심이 없습니다.개발중인 Amazon CloudSearch를 어떻게 대체합니까?

현재 개발 중에 MySQL에서 텍스트 검색을 실행합니다. 특정 환경 코드를 작성해야하기 때문에 이상하지 않습니다.

나는 굉장하지만 여전히 젊고 불완전 해 보이는 Groonga CloudSearch을 발견했습니다.

그래서 개발중인 Amazon CloudSearch를 대체하는 가장 좋은 방법은 무엇입니까?

답변

0

이것은 "사용 방법에 따라 달라집니다"라는 답변 중 하나입니다. 개발에 AWS 클라우드 검색을 사용하지 않으려는 이유 (비용 제외)가 있습니까? 당신은 프로젝트에서 일하지 않는 사람들에게 사실상 블랙 박스가되는 매우 특정한 SAAS 제품을 선택하고 있습니다. 말했다

는, (필요한 기능에 따라) 몇 가지 가능한 대체는 다음과 같습니다

-Solr - lucene.apache.org/solr/ 

-Elasticsearch - elasticsearch.org 

-Whoosh - bitbucket.org/mchaput/whoosh/ 

-Xapian - xapian.org 

-Really anything that uses the Lucene - lucene.apache.org/core/ -full text search engine 

-MongoDB -mongodb.org 

-Memcached memcached.org 

-Redis redis.io/ 

그래서 ... 그래 ... 그것은 완전히 스택 CloudSearch의 상황에 따라 달라집니다. 예를 들어, 데이터를 분류하는 인덱스 필드를 https://github.com/pbs/haystack-cloudsearch

1

우리는 단순히 추가 - 당신은 최소한의 논리를 갖는 키 - 값 저장소로 사용되거나,

건초 더미 같은 복잡한 프레임 워크

시스템 :

디바이스 또는 사는 그런 다음 코드에서 모든 검색 그냥 실행되는 어떤 시스템에 따라 검색 쿼리에 살고는/dev에 전달합니다.

"도메인"에 대한 색인을 추가 한 다음 "www.mydomain.com"및 "dev.mydomain.com"값을 가질 수도 있습니다. 그런 다음 검색을 수행하는 코드에서 문서가 들어오고 표시되어야하는 도메인을 전달하십시오.

+0

이 접근 방식의 문제점은 개발자가 프로덕션 검색 인덱스에 액세스 할 수 있으며 개발 데이터로 프로덕션 데이터를 엉망으로 만들 위험이 있습니다. 예를 들어, 내 팀에서 개발자는 검색 인덱스 재 작성을 테스트하고이를 수행하여 모든 프로덕션 데이터를 지울 수 있습니다. – barbolo

관련 문제