각 레코드에 약 200-400 자의 레코드가있는 10,000-50,000 개의 레코드를 처리합니다. 내가 가질 수있는 검색어의 수는 1500 개가 넘지 않을 것으로 예상됩니다 (모두 현지 업체와 관련 있음).Ruby를 사용하여 수백 개의 태그가있는 구조화 된 텍스트 및 반 구조화 된 텍스트 구문 분석
구조화 된 태그를 용어 목록과 비교하여 데이터를 태그 지정하는 함수를 만들고 싶습니다.
이 용어는 비즈니스 설명을 기반으로합니다. 예를 들어 [Jazz Bar]
, [Nightclub]
, [Sports Bar]
또는 [Wine Bar]
은 모두 [Bar]
에 대한 검색어와 일치합니다.
일반적으로이 데이터에는 기존 태그가 있습니다. 따라서 첫 번째 패스의 엄격한 계층 구조를 만든 다음 기존 태그가없는 경우 두 번째 패스를 수행 할 수도 있습니다.
이것을 구현하는 가장 성능에 민감한 방법은 무엇입니까? 나는 모든 키워드를 가진 테이블을 가질 수 있고 각각의 데이터 조각들과 그것들을 매치 시키려고한다. 이것은 자유 텍스트를 처리 할 때 덜 당연한 기존 태그와 일치하는 경우에 간단합니다. 나는 그것은 Sphinx 검색 엔진과 ThinkingSphinx 루비 보석을 사용할 수있는 매우 안전한 내기 Heroku가/PostgreSQL을
어디에서 쿼리를 수행 하시겠습니까? PostgreSQL 또는 Ruby 코드에서? 이 일회성 일이나 정규 일입니까? 그리고 태그를 식별 할 때 무엇을하고 싶습니까? 안타를 계산합니까? 그것들을 다른 것으로 바꿉니 까? –
특정 데이터 및 메타 데이터를 캐싱하는 일별/주별 작업입니다. 태그 기반 쿼리 메커니즘이 있으므로 캐시에 저장 한 태그에 태그를 첨부하고 태그가있는 항목의 누계를 유지합니다. 8 개의 최상위 태그가 있으며 각 태그에는 2-8 개의 리프 태그가 있습니다. 감사! – SFRubyNewby
이것이 귀하의 케이스에 얼마나 잘 어울리는 지 모르지만 Redis and Elasticsearch를 살펴보십시오. –