문제

우리는 오픈 소스를 만들고 있습니다 트위터 클라이언트 그리고 함께 내장 된 DB를 찾고 있습니다 가능한 가장 작은 발자국 그것은 델파이와 함께 작동하며 전문 검색 (나는 그것이 작은 발자국과 잘 어울리지 않는다는 것을 알고 있습니다). 이상적으로는 무료 또는 오픈 소스 여야합니다 (내가 아는 것을 요구합니다).

나는 기대하고있다 sqlite, 그러나 나는 전에 그것을 사용하지 않았으며 그것이 전체 텍스트 검색을 지원하는지 또는 Delphi에서 얼마나 잘 작동하는지 모릅니다. 나는 사용했다 DBISAM 이전과 그것은 전문 검색이 포함되어 있지만 무료는 아닙니다. 파이어 버드 우리가 고려한 또 다른 옵션입니다.

이 작업을 수행하는 조합이있을 수 있습니다. 1) 풋 프린트, 2) 전체 텍스트 검색, 3) 무료/오픈 소스에 대해 어떻게 사용하겠습니까?

업데이트: 귀하의 제안에 감사드립니다. 선택할 수있는 좋은 선택.

도움이 되었습니까?

해결책

나는 많은 성공을 거두었습니다 disqlite. 그것은 FTS 지원과 다양한 기능이 있습니다. 무료 버전과 전문 버전이 있습니다. 무료 버전도 FTS를 수행한다고 생각합니다. 델파이에 대한 많은 SQLITE 구현을 시도했는데 이것이 내가 본 최고의 구현입니다. 외부 DLL이 없도록 응용 프로그램에 직접 컴파일됩니다.

나는 Delphi의 임베디드 데이터베이스를 위해 많은 무료 라이브러리를 보았으며 많은 사람들이 더 이상 지원되지 않거나 출시되지 않았거나 Delphi5에서만 작동하지 않습니다.

다른 팁

Sybase 우위 데이터베이스 서버 로열티 프리 로컬 서버 엔진 (다중 스레드 및 레코드 레벨 잠금), Great Delphi Tdataset Descendant 구성 요소 (소스 코드 포함) 및 훌륭한 전문 검색 엔진이 있습니다.

전체 텍스트 검색 지원 및 또는 근처의 운영자를 활용하십시오. Advantage는 또한 검색 조건에서 모든 단어 인스턴스의 총 수를 반환하는 점수 및 스코어 스칼라 함수를 제공합니다.

장점 전문가 인덱스는 레코드 업데이트 시간에 유지되므로 재건이 필요하지 않음을 의미합니다. 인덱스는 압축 형식입니다. 따라서 실제 인덱스 크기는 실제 데이터보다 훨씬 작을 수 있습니다. 비 인덱스 데이터에서 전문 검색을 수행 할 수는 있지만 레코드 데이터를 물리적으로 검색해야하며 훨씬 느릴 수 있습니다. 색인 검색은 최적의 성능을 위해 비트 맵 필터를 사용합니다.

온라인 도움말에는 인덱싱 옵션 등의 모든 세부 사항이 있습니다.

http://tinyurl.com/ctjoqg

나는 파이어 버드가 있다는 것을 안다 스핑크스 전체 텍스트 검색을위한 추가 기능 (사이트에 따르면 '실제 "전체 텍스트 검색"과는 거리가 멀지 만 무료/ 오픈 소스이지만 내장 된 버전의 Firebird와 함께 작동하는 경우 정보를 찾을 수 없습니다.

Firebird Full-Text 검색의 경우 : http://www.firebirdfaq.org/faq328/

레오나르도.

우리는 Dotlucene을 Hydra를 사용하여 내부 Delphi 기반 앱 중 하나에 통합했습니다 (Mike는 당시에는 작업을 수행했습니다). 그것이 우리가 여기서 추구하고 싶은 옵션이라면, 우리는 그것을 추출 하고이 프로젝트를 위해 재사용 할 수 있다고 확신합니다.

계속하십시오 sqlite. 델파이를위한 무료 SQLITE 구성 요소가 많이 있습니다. 그들 중 일부는 활발한 프로젝트가 중단되었습니다. 그러나 메모의 한 구성 요소는입니다 zeosdb. ZEOSDB는 적극적으로 유지 관리되며 SQLITE 지원도 완벽합니다. 다른 DB 엔진 지원이 필요한 경우 ZEOSDB가 다시 답변입니다 (MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle 및 SQLite를 지원합니다).

NexusDB는 a 무료 임베디드 버전 물론 그것은 기본 델파이 제품입니다.

여기에 대한 설명이 있습니다 전문 검색 구현.

나는 DBISAM, 또는 아마도 그들의 최신 인상을 강력하게 고려해야한다고 제안한다. 이전 경험에서 나는 그것이 실행 파일에 크기가 크지 않으며 합리적으로 빠르고 신뢰할 수 있으며 완벽한 델파이 기반 솔루션이며 우수한 지원을 제공합니다. 수년에 걸쳐 그들의 SQL 방언은 정제되어 이제는 높은 수준의 ANSI SQL-2003 준수로 매우 좋습니다.

DBISAM/EXTATEDB는 오픈 소스가 아니지만 라이센스 비용은 개발자 당 (배포 당 아님)에 전적으로 이루어 지므로 개발자가 소수의 개발자 만있는 경우 비용은 (내 의견으로는) 무시할 수 있습니다. 라이센스 비용은 DBISAM/Evelatesoft NewsGroup에서 얻는 지원 수준과 응답 성을 고려할 때 특히 합리적입니다. 여기서 주요 개발자/소유자 (Tim Young)는 질문에 답변하고 문제를 해결하는 데 적극적으로 참여합니다. 독점 솔루션의 비용 외에도 비즈니스가 생존 할 것인지에 대한 우려가 있으며 향후 제품이 계속 개발되고 지원 될 것인지에 대한 우려도 있습니다. 그것은 당신이 당신 자신을 위해 무게를 측정 해야하는 것이지만, 개발은 그 어느 때보 다 강한 것 같습니다. 그들은 DB에 대한 .NET 제공 업체를 보유하고 있으며 Freepascal/Lazarus와의 크로스 플랫폼 개발을 지원합니다.

DBISAM의 전체 텍스트 검색에 대한 한 가지 플러스는 SQL에 엄격하게 통합된다는 것입니다. 즉, 일부 필드의 기준을 다른 필드의 전체 텍스트 검색 기준과 직접 결합하는 단일 선택 문을 발행 할 수 있습니다. 귀하의 요구에 따라, 이것은 다른 전체 텍스트 솔루션을 사용하여 더 많은 작업을 수행 할 수있는 일을하는 것이 정말 간단하고 빠르게 수행하는 훌륭한 기능입니다. Lucene 및 Firebird와 함께 사용될 수있는 다른 사람들과 같은 대부분의 애드온 솔루션은 일반 SQL과 밀접하게 통합되지 않으며 전체 텍스트 기준만으로 레코드 세트를 검색하도록 제한한다고 생각합니다. Firebird에 대한 Textolution의 독점 애드온과 같은http://www.textolution.com/ftsib_example.asp)는 정규 및 전체 텍스트 기준을 모두 적용하는 단일 단지 (중첩) 쿼리 구성을 수용 할 수 있지만 DBISAM은 더 우아하게 수행합니다. 그리고 오픈 소스 DB에 독점 애드온을 추가하면 어쨌든 오픈 소스로가는 목적을 패배시킵니다.

DBISAM/ElpatedB의 전체 텍스트 검색의 단점 중 하나는 '및'및 '또는'조건의 사용 만 지원하는 것이 근접성 검색이 없다는 것입니다.

sqlite에 대한 풀 텍스트 솔루션이 있음을 알았습니다. http://www.sqlite.org/cvstrac/wiki?p=fulltextIndex. 나는 sqlite를 사용한 적이 없지만 많은 사람들이 그것을 좋아한다는 것을 알고 있습니다. DBISAM/Evelatesoft가 큰 장점을 가지고 있다고 확신하는 한 가지 영역 중 하나는 강력한 잠금 기능이 필요한 다중 사용자 애플리케이션이지만 단일 사용자 데스크탑 앱에 전혀 무게를 전혀 가지고있는 것은 아닙니다.

나는 sqlite를 사용하여 갈 것입니다 애도 sqlite 구성 요소, 그들은 disqlite보다 sqlite로 작업하기 쉽고 무료 및 tdataset 구성 요소로 작동하기 때문에 Sqlite에 투표 할 것입니다.

  1. 매우 빠르고 컴팩트 한 데이터베이스입니다.
  2. 매우 작은 발자국, 약 200kb DLL.
  3. Aducom 구성 요소와 함께 사용하면 정적으로 연결될 수 있으므로 DLL을 배포 할 필요가 없습니다.
  4. 전체 텍스트 검색을 지원했습니다.
  5. 외부 스토리지로 많은 무료 및 상업용 응용 프로그램에서 크게 사용되며 사용됩니다.
  6. 표준 SQL의 대부분이 있으므로 SQL에 대한 대부분의 지식이 사용됩니다.

SQLITE는 거의 단일 사용자/단일 연결 전용입니다. 업데이트를 수행하면 전체 데이터베이스가 잠겨 있습니다. 다른 연결이 대기 할 시간 초과 값을 설정하여이를 처리합니다 (기본값은 타임 아웃이 아닙니다). 다중 사용자 액세스는 매우 느리게 될 수 있으며 사용하는 값에 따라 빈번한 시간 초과를 제공 할 수 있습니다.

ASQLITE 구성 요소를 사용했습니다 http://www.aducom.com/. 무료 및 오픈 소스. 현재 외관으로 D2009를 지원하지는 않지만 개발 중입니다. 다른 구성 요소 세트도 많이 있지만 다른 구성 요소 세트도 사용하지 않았습니다.

Rubicon을 사용하여 델파이 앱에 전체 텍스트 검색을 추가 할 수 있습니다 (현재는 새로운 관리 중입니다. http://www.href.com/rubicon). 그러나 이것은 무료가 아닙니다 :(

왜 이것에 대한 전체 텍스트 검색이 필요한가요? 트위터를 사용하지 않습니다. BU 트위터 메시지는 140 자 최대라고 생각합니까? 이것들은 하나의 바르 차르 필드에 적합합니다. 그러한 필드에서 무언가를 찾기 위해 전체 텍스트 검색이 필요하지 않습니다.

.NET 프레임 워크를 설치해야하지만 .NET COM API를 통해 쉽게로드 할 수있는 dotlucene도 있습니다. 검색에 이상적이며 대부분의 검색 엔진에 공통적 인 쿼리 형식이 있습니다.

여기에는 반 작업 델파이 솔루션이 있습니다. http://sourceforge.net/projects/mutis/, 루센의 델파이 항구.

그것의 시장은 잘 작동하지만 불행히도 Death delphi.net 구현에 기반을 두 었으므로 원본으로 업데이트하기위한 Requiere 작업 (예, .NET 경로를 취하는 큰 실수였습니다 :()

DBISAM 끝까지. 매우 견고하고 내장 된 전체 텍스트 인덱싱은 훌륭합니다 (광범위한 개인 경험!)

Expatedb도 프로브이지만 직접적인 경험이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top