Yuca:軽量、メモリ、高速で簡単に使用できる検索エンジンライブラリ。
アプリがルーセンのようなフルフィーチャーとヘビーの検索エンジンを処理できないか、実際に必要としない場合は、インデックス作成およびシンプルな検索ベースの文字列のためにSQLデータベースに依存したくない場合は、Yucaを使用して、タグの下でグループ化できる任意のキーの下でドキュメントをインデックスすることができます。
現在、共有ライブラリは梱包の最適化なしに約170kbの重量があります。近い将来、さらにサイズを削減したいと考えています。
要件:
説明書:
初めて、CmakeでMakeFileを作成します
$ cmake .
その後、ビルドだけです
$ make -j 8
共有および静的ライブラリは、プロジェクトのルートフォルダー、およびyuca_demo_sharedおよびyuca_demo_static Executablesで利用できます。すべてが共有ライブラリと動的ライブラリの両方で正しくコンパイルおよびリンクされていることをテストするために使用できます。
すべてのユニットテストが合格していることを確認する場合に備えて、 yuca_tests実行可能ファイルもあります。
swigフォルダーには、Swigスクリプトと高レベルのラッパーがあり、他のプログラミング言語のユカを使用します。最初はjavaです。
現在の意図は、 swig/build.sh他の言語のバインディングを作成するためのワンステップビルドプロセスにすることです。
今のところ、Java Bindingsを作成する非常にラフなスクリプトであり、現在、バインディングの開発の初期段階であるため、MacOSのJavaのバインディングをサポートしています。長期的には、選択した言語とアーキテクチャのバインディングを出力するためにbuild.shにオプションが渡されます。
JNIビングを構築するには、前のビルド命令セクションで説明されているように、C ++ライブラリを構築したことを確認してください。
$ cd swig
$ ./build.sh
これにより、 swig/javaフォルダー内のJNIネイティブラッパーにアクセスするために、C ++ JNIコードとJavaコードをプログラムで作成しました。 IndexerにはDocument javaプログラマーフレンドリーなcom.guacal.yuca StringKeyあるJavaパッケージSearchResultありSearchRequest com.guacal.yuca.*
デバッグシンボルを使用してライブラリを構築する場合は、 CMakeLists.txtを編集し、 CMAKE_BUILD_TYPE設定をcomementしてください。
# 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 Issue Trackerで問題を開きます。拡張またはパッチを適用したい場合は、まず問題を開き、正当な理由で受け入れられない可能性のあるものをコーディングする時間を無駄にしないようにしてください。
このプロジェクトは、公開されたMITライセンスの下で入手できます。 2018年5月9日