YUCA : 가벼운 중량, 메모리, 빠르고 사용하기 쉬운 검색 엔진 라이브러리.
앱이 Lucene과 같은 전체 특집 및 무거운 검색 엔진을 처리 할 필요가 없거나 실제로 인덱싱을위한 SQL 데이터베이스에 의존하고 간단한 검색 기반 문자열을 수행하려는 경우 yuca를 사용하여 태그 아래에서 그룹화 할 수있는 임의의 여러 키에서 문서를 색인화 할 수 있습니다.
공유 라이브러리의 무게는 현재 포장 최적화없이 ~ 170kb이며 가까운 시일 내에 크기를 더 줄이고 싶습니다.
요구 사항 :
지침:
처음으로 Cmake로 Makefile을 만듭니다
$ cmake .
그런 다음 그 후에 빌드하십시오
$ make -j 8
공유 및 정적 라이브러리는 프로젝트의 루트 폴더와 yuca_demo_shared 및 yuca_demo_static 실행 파일에서 공유 및 동적 라이브러리와 함께 올바르게 컴파일하고 연결되어 있음을 테스트하는 데 사용할 수 있습니다.
모든 단위 테스트가 통과되는지 확인하려면 yuca_tests 실행 파일도 있습니다.
swig 폴더에는 다른 프로그래밍 언어에서 YUCA를 사용할 수있는 SWIG 스크립트와 고급 랩퍼가 보유하고 있으며, 첫 번째는 java 입니다.
현재 의도는 swig/build.sh 다른 언어에 대한 바인딩을 만드는 한 단계 빌드 프로세스가되는 것입니다.
현재는 Java 바인딩을 생성하는 매우 거친 스크립트입니다. 현재 바인딩 개발 초기에 여전히 MacOS의 Java의 바인딩을 지원합니다. 장기적으로 옵션은 Build.sh로 전달됩니다.
JNI Bingings를 만들려면 주먹은 이전 빌드 지침 섹션에서 설명한대로 C ++ 라이브러리를 구축 한 다음 다음을 구축해야합니다.
$ cd swig
$ ./build.sh
이로 인해 swig/java 폴더 내부의 JNI 네이티브 랩퍼에 액세스하기 위해 프로그래밍 방식으로 C ++ JNI 코드 및 Java 코드가 생성됩니다. Indexer Document 자바 프로그래머 친화적 SearchRequest com.guacal.yuca.* StringKey SearchResult
디버그 기호가있는 라이브러리를 구축하려면 CMakeLists.txt 편집하고 CMAKE_BUILD_TYPE 설정을 end니다.
# If you need step by step debugging, uncomment below,
# or invoke `cmake -DCMAKE_BUILD_TYPE=Debug .` in the command line
#set(CMAKE_BUILD_TYPE Debug)
cmake . 다시, make -j 8 로 make clean 재건하십시오.
문제, 아이디어가 있으면 Github 문제 추적기에 문제를여십시오. 확장하거나 패치하는 느낌이 들면 먼저 문제를 열어서 시간을 낭비하지 않도록 합당한 이유가없는 것을 코딩하는 데 시간을 낭비하지 마십시오.
이 프로젝트는 MIT 라이센스에 따라 공개적으로 공개되어 있습니다. 2018 년 5 월 9 일