一部の Web アプリケーションには (mysql の代わりに) mongodb を使用することにしましたが、mongodb に格納されているすべてのデータのインデックス作成/検索には sphinx を使用したいと考えています。mongodb object-id はデフォルトではハッシュであるため、これを維持したいと考えていますが、sphinx の使用には 1 つの問題があります。スフィンクスのドキュメントにあるように:
すべてのドキュメント ID は、一意の符号なしのゼロ以外の整数 (ビルド時間の設定に応じて 32 ビットまたは 64 ビット) でなければなりません。
それで...この問題を解決する最良の方法は何ですか...どのようにmongodb object-idをゼロ以外の整数に(そして元に)マッピングできますか?
アップデート
ケーシーの答えは正しい方向ですが、現在の開発バージョンでは文字列属性がSQLデータソースでのみ利用可能であることが判明しました。xmlpipe の場合、チェックアウト ソースにパッチを適用する必要があります。詳細については、sphinx フォーラムを参照してください。