2010-11-28 62 views
5

私はPython全文検索エンジンを探しています。Pythonの全文検索エンジン

私はPyLucenseを見ましたが、私はPythonプロジェクトでJavaベースのライブラリを使うのは良くないと思います。私が理解するように、SphinxにはPython APIはありません。

アイデア?

答えて

6

あなたはWhooshを見ましたか?純粋なPythonです。

+2

私は最近、このことについて言いたいと思っていました。私は最近、150万行の入力データをインデックスに登録しました。whooshはインストールと実行が非常に簡単でした。私にとっては小さなインデックスのために十分速く働き、私のインデックスのサイズ:15秒で1000の検索結果。小さいインデックスサイズには良いかもしれません。 – Abhi

4

が真でない "スフィンクスは、PythonのAPIを持っていません"。リリースをダウンロードしてご覧ください。sphinx/api/sphinxapi.py

私はそれを自分で使用しています。私はそれにかなり満足しています。ドキュメンテーションはPHPのみですが、Python APIはすべての関数にまったく同じ名前を使用します。

2

私はwhooshをお勧めします。あなたは簡単にそれは

2

Apache SolrはLuceneのベースであり、あなたは何のプラットフォームのロックインや言語の問題を持っていないので、その検索機能にREST/HTTPインターフェースを提供していますあまりにもきちんとしたAPIを持ってい ヒューという音すなわちeasy_installをインストールすることができます。 IMOはあなたが望むことができる以上の機能とそれをサポートするためのアクティブなコミュニティを備えた、最高の検索サーバーです。

+0

私はPythonの人で、Python SQLiteラッパー(APSW)を管理しています。いくつかの仕事のために私はSolrも使います。構成はPITAですが、検索結果は素晴らしいです。人生を楽にするJSONとして戻すことができます。あなたは迷惑なXMLを介してコンテンツを作成する必要があります。 SQLiteのFTS3も素晴らしかったですが、柔軟性に欠けていません。例えば、ステミングとメタフォンはSOLRでは自明ではありませんが、FTS3では非常に難しいです。 –

1

sqliteのFTS機能を試しましたか?あなたはsqliteタグを使用しましたが、私はあなたの質問にsqliteの言及を見ません。

+0

いいえ、私はそれを試していない。 SQLAlchemyはSQLite検索をサポートしていませんでしたが、plait SQL構文を使用したくありません。 – uhbif19

2

特にフルテキスト検索の場合、Solrは優れた選択です。あなたは、より広く使われ、よりオープンな選択を見つけるのは難しいでしょう。クライアントであるPHP Webアプリケーションと、インデックスを照会できるようにするHTTP/REST APIを使用して私の会社でSolr/Luceneを使用します。これは、ネイティブのPHPクライアントの持つ機能と、より柔軟な機能を備えています。 REST APIを使用してすべてのクエリ/フィルタを実行できます。しかし、そのすべての上に、常に改善されている組み込みの複製を備えた、非常に実績のある、広く使われている検索システムがあります。 Solr 1.4.xをあなたの出発点として強くお勧めします。