2012-02-17 2 views
2

좋은 생각이라고 생각하십니까?검색 인덱싱에 sqlite를 사용 하시겠습니까?

개체 ID와 함께 sqlite 데이터베이스 안에 실제 데이터베이스의 키워드를 저장하는 것과 같습니다. 그래서 sqlite를 사용하여 찾은 객체의 ID를 얻은 다음 해당 ID를 사용하여 실제 데이터베이스를 쿼리합니다. MySQL의 DB에서

예를 들어 개체 :

ID keywords 
_____________________________________________________________________________ 
5 know, summer, last, what 

아니면

keyword  objects 
    _____________________ 
    know  5, 6 
    summer  5 
    lst   5, 7, 10 
    ... 

하지만 거대한 데이터베이스를 얻을 것입니다 :이 같은 sqlite가에 색인을 생성 할

ID slug  title  content 
_____________________________________________________________________________ 
5 bla-bla Bla Bla  I know what you did last summer 

, 어휘를 고려할 때 ~ 15000 개의 항목이있는 것 같습니다.

답변

1

데이터베이스의 개념은 쿼리 작업을 매우 빠르고 효율적으로 수행 할 수 있다는 것입니다.

반면에 SQLite는 db 인스턴스를 설정할 필요가 없으므로 개발 목적으로 완벽한 도구입니다. 그러나 동시에 여러 동시 연결을 효율적으로 또는 전혀 처리 할 수 ​​없다는 측면이 있습니다.

따라서 SQLite는 많은 쿼리를 처리 할 수 ​​없어서 데이터베이스의 전체 목적을 달성 할 수 없기 때문에 내 생각에 제안 된 방법이 최선의 방법은 아닙니다.

모든 쿼리를 처리 할 수있는 고성능 DB를 유지하는 것이 훨씬 더 좋을 수도 있습니다. 그리고 일반적으로 등 MySQL은, PostgreSQL을,

편집

그냥 생각으로 당신이 DB를 최적화 할 수있는 방법의 톤이있다. 어쩌면 문자열을 단어로 분리하고 키워드로 취급하는 것이 최선의 방법은 아닙니다. 문제는 특정 키워드가 시스템의 어딘가에서 사용되었지만 키워드의 출처에서 문맥과 우선 순위를 고려하지 않으면 검색 결과가 반환된다는 것입니다. 나는 검색에 대해 많이 알지 못하지만 어떤 종류의 순위 시스템을 갖는 것이 유익한 것처럼 보일 것입니다.

2

하지만 거대한 데이터베이스를 얻을 것입니다, 아마 ~ 15000 개 항목

15,000 레코드는 MySQL을위한 케이크 조각 및 다른 대부분의 RDBMS입니다. 너 해야합니까 전체 텍스트 인덱싱 및 searching 활용할 수 있도록 MyIsam 테이블에 텍스트를 설정해야합니다.

관련 문제