ほんとに触ってみただけですが、サンプルを書いてみました。 複数のフィールドに対するOr検索をかけるにはMultifieldParserが使えるようです。 実行結果 -- titleの部分一致 [[u'1000', u'\u30b8\u30e7\u30b8\u30e7\u306e\u5947\u5999\u306a\u5192\u967a']] -- idの完全一致 [] [[u'1001', u'\u30d5\u30a7\u30eb\u30de\u30fc\u306e\u6700\u7d42\u5b9a\u7406']] -- keywordsの一致 [] [[u'1002', u'\u521d\u3081\u3066\u306ePython']] -- contentの部分一致 [[u'1000', u'\u30b8\u30e7\u30b8\u30e7\u306e\u5947\u5999
A fast and simple algorithm for approximate string matching/retrieval SimString is a simple library for fast approximate string retrieval. Approximate string retrieval finds strings in a database whose similarity with a query string is no smaller than a threshold. Finding not only identical but similar strings, approximate string retrieval has various applications including spelling correction, fl
Pythonで記載されたレイアウト+diffベースで本文抽出を行うWebstemmerを用いてブログの本文抽出にチャレンジしました。いつも通り技術エントリーは非常に長いので、興味のある人だけ続きをごらん下さい。 検索エンジンのフロントエンド部分の実装の目処がたったので、次はクローラ、インデクサの実装です。PythonにはTwistedという極めて優秀な非同期Webアプリケーションフレームワークがあるので、クローラを記載することは全く難しくありません。この辺りはPythonクックブックの14章ウェブプログラミングを参照して下さい。Python クックブック 第2版鴨澤 眞夫 當山 仁健 吉田 聡 おすすめ平均 リファレンスとセットで 2.5以降対応版の第3版を Amazonで詳しく見る by G-Toolsさて、クローラ部分の目処は立ったとして、問題はインデクサです。Luxを検索エンジンに使
Python 2.5から、ctypesというライブラリが標準ライブラリに追加されました。このライブラリは、Cの関数をPython用にラッピングしてくれるライブラリで、PythonからCのライブラリ(.soとか.aとか.dllとか、環境による)中の関数を「直接」呼び出すことができます。 似たような仕組みには、SWIGや、PythonのC拡張モジュールなどがありますが、ctypesはそれらの仕組みと比べ、圧倒的に手軽なのが売りです(だと思います)。 たとえば、Python 2.5以上であれば、インタラクティブモード上で、 >>> from ctypes import * >>> libc = CDLL("libc.so.6") >>> libc.puts("hello ctypes") hello ctypes 13 のように、いきなりlibcのputs関数を呼び出すことができます(インタラク
今、手元で検索サービスを作成するためにいろいろ実験をしているのですが、ある程度ノウハウが貯まったので公開しておこうかと思います。長いエントリーになりますので、検索サービスの構築に興味がある人だけ閲覧下さい。 一般的な検索エンジンは主に2つのパートに別れます。一つは、クローラとインデクサからなるデータを収集するバックエンド、もう一つは検索を行うフロントエンドです。クローラとインデックス部分に関してはまだ手元で試しているところなのです紹介できる状態にないのですが、Pythonを用いたフロントエンドに関しましては、だいたいやり方がわかってきたので、ここで公開しておこうと思います。個人レベルが作れそうな検索サービスの構築に興味がある方はよんでいただければ幸いです。 [追記]クローラ部分は時間がかかりそうなので、インデクサ部分を公開しました。 全文検索エンジンLuxのboost-pythonを用いた
Whoosh: a fast pure-Python search engine Whoosh is a fast, featureful full-text indexing and searching library implemented in pure Python. Whoosh was created and is maintained by MattChaput. It was originally created for use in Side Effects Software's 3D animation software Houdini. Side Effects Software Inc. graciously agreed to open-source the code. Some of Whoosh's features include: Pythonic API
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く