2010-11-23 12 views
4

CouchDBはstartkeyから正確なキー/値ペアなどの値を検索する機会を与えます しかし、指定されたフィールドで部分文字列を検索する方法はありますか?CouchDBドキュメントからサブストリングを検索する方法はありますか

問題はこのようです。私たちのニュースデータベースは約4万のニュース文書で構成されています。彼らはtitle,contenturlフィールドを持っていると言う。我々は、titleに「レストラン」を持つニュース文書を探したい。それを行う方法はありますか?私は、この問題を処理するツールがなく、私ができることはPython、PHP、または他の方法でJSON結果を解析することだけです:MySQLでは単純にLOCATE( )機能..

答えて

4

ここで注意してください。Luceneのは、常に最良の答えではありません。

あなたが唯一の限られたフィールドを検索し、唯一、レストランそしてLuceneのような単語を検索した場合大きなテキスト/トークンをトークン化することを本当に意味するのは残念ですが、タイトルを分割することで同じ効果を得ることができます。

function(doc){ 
     var stringarray = doc.title.split(" "); 
     for(var idx in stringarray) 
     emit(stringarray[idx],doc); 

     } 

LuceneとCouchdbは、文字列が単語の先頭にない部分文字列検索をサポートしていません。