コマンドラインに対応したフルテキストインデックス作成?


37

フルテキストインデックスエンジンなど、コマンドラインからクエリを実行でき、理想的にはGUIを使用する必要がないものはありますか?

電子書籍や論文の索引付けに特に興味があるので、pdf、epub、いくつかのdjvuが混在しています。(Open)Office docsはいいですが、私のリストではずっと低いです。


1
インデックスの形式について具体的に説明できますか?
ixtmixilix

良い点、編集。
ジュリアン

-1以下で指摘したように、LuceneまたはTrackerは適切な選択ですが、「gtkを使用するか、さらに悪いqtを使用する」という問題は何ですか?コマンドラインだけを使用することは問題ありませんが、ライブラリセットを批判する意味がわかりません
...-tmow

2
@tmow:採点、質問の編集。、申し訳ありませんもしそれが経由して来たかというの...誰のハードワークを弱体化させるという意味ではありませんでした
ジュリアン

回答:


11

LuceneまたはSphinxを見ましたか?最初にインデックスを作成するドキュメントを解析する必要がありますが、それが完了すると、どちらかがcliから検索できます。

Luceneには、これを行うための情報があります

Sphinxはもう少し曖昧ですが、いくつかのドキュメントも利用できます。xmlpipe2データソースを介して、選択した構造化XMLデータをsphinxに渡すことができます。

LuceneはJavaに依存していますが、Sphinxは外部依存関係を必要としないC ++で構築されています。

どちらもあなたが望むことをするのに少しの作業を必要としますが、完全に実行可能な解決策のようです。


1
余談ですが、DB内のデータ(postrgres、mysql)のインデックスを作成する場合は、これらのいずれかが非常にうまく機能します。
ガベ。

うーん、私はあまりにも低レベルであるためにスフィンクスを却下していたが、xmlpipe2を見て、それはPDF2TXTのためのラッパースクリプトを思わなど、かなり簡単だろう
ジュリアン

Luceneで言及する場合は+1。Luceneとは楽しい時間を過ごしました。
ニキルマレー

elasticsearchはluceneに基づいており、より使いやすい(より高レベルなものである)と信じています。
offby1

5

xapianをチェックしてください。コマンドラインインターフェイスがあり、多くの形式にインデックスを付けることができます。


xapianは素晴らしいインデックスであり、私の個人的なお気に入りであり、ネイティブC ++!で記述されています。インデックス作成+1を必要とする多くのプロジェクトにとって、xapianを使用するものが最も理想的です。
JMベッカー

4

RecollはGUIなしで構築でき、コマンドラインからドキュメントタイプを検索します。

フードの下でXapianを使用します。


3

トラッカーはコマンドラインから呼び出すことができ、gtk +はプロジェクトの強い依存関係ではありません(ただし、パッケージの場合もあります)。


間違っていない場合でも、gnome(の大部分)を依存関係としてプルしようとします。
ジュリアン

1
私が言ったように-プロジェクト(バージョン0.9.xでは、少なくとも唯一のGNOMEハード依存関係はglibです)。パッケージは、GUIのようにデフォルトのスタッフをコンパイルする場合があるため、手動でコンパイルする必要があります。
マチェイピエチョトカ

3

この回答では、Googleのcodesearchの使用を推奨しています。

コード検索は、大量のソースコードに対してインデックスを作成し、正規表現検索を実行するためのツールです。

Debian / derivativesのスーパーユーザーは以下を試すことができます: sudo apt-get install codesearch


1
この回答には、ソースからのインストールに関する詳細が含まれています。OSのリポジトリで利用できない場合:superuser.com/a/1263343/65975
ccpizza

2

現在、安定版(0.8)と不安定版(0.9)の2つのトラッカーストリームがあります。お使いのOSはおそらくあなたが(それはいくつかあり、それを余裕があれば、0.8バージョンを持っている最先端のソフトウェアの依存関係)を、最新のtarファイル(0.9.x)をつかむ行きます。それは有する改良の多く 0.8上を、そして現在、安定化されている(偶数安定性を表す)0.10であるためにさらなる。このルートを選択した場合は、次のコマンドを使用して構成します。

./configure --disable-tracker-needle --disable-tracker-preferences --disable-tracker-explorer --disable-tracker-status-icon

依存関係はインストールされない可能性が高いため、単にディストリビューションから0.8をインストールし、GUIビットを回避する方が簡単です。Debian Squeeze、Ubuntu 10.10、およびUbuntu 11.04では、これらはうまく分割されています。(rootとして)実行:

apt-get install --no-install-recommends tracker-utils tracker-miner-fs

このためのCLIツールはtracker-searchですので、--helpオプションを使用して実行し、その活用方法を確認してください:-)

  • Fedora 14では、TrackerパッケージはGTK +に依存しています。私はそれは物事が好き含んでいるので、それはだと思うtracker-applettracker-preferences。ただしtracker-search-tool、GUIの検索インターフェイス用に別のパッケージがあります。
  • DjVuとePUBは(まだ)サポートされていません。これがのリストです

0

私は、この夏Sqlite3を使用してNetBSDのmanページを索引付けおよび検索するための全文検索ツール(新しいapropos)の作成に取り組みました。次の2つのコマンドラインツールで構成されています。

  • makemandb:manページのコンテンツのインデックスを解析して構築します。
  • apropos:このインデックスをクエリするためのツール。

同様のツールを自分で簡単に作成できます。pdfの場合、pdfドキュメントを解析するためのライブラリと、同様にオープンオフィスドキュメントを解析するためのユーティリティが必要になります。

プロジェクトの詳細についてはこちらをご覧ください

コードはこちら

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.