私は現在MySqlを使用しており、ブール検索を実行する必要があるいくつかのテーブルがあります。私のテーブルがInnodbタイプであることを考えると、これを行うためのより良い方法の1つがSphinxまたはLuceneを使用することであることが判明しました。私は、これらを使用して疑問を持っている私のクエリは次のような形式のものであり、MySql全文またはスフィンクスまたはLuceneまたは何か他のものはありますか?
Select count(*) as cnt, DATE_FORMAT(CONVERT_TZ(wrdTrk.createdOnGMTDate,'+00:00',:zone),'%Y-%m-%d') as dat from t_twitter_tracking wrdTrk where wrdTrk.word like (:word) and wrdTrk.createdOnGMTDate between :stDate and :endDate group by dat;
クエリは、ログインしているユーザーのタイムゾーンに変換する必要が日付フィールドを持ち、その後フィールドが行うために使用しますグループ化する。
私がSphinx/luceneに移行すると、上記のクエリと同様の結果が得られます。スフィンクスの初心者ですが、どちらを使うべきですか、それとも良いものがありますか?
実際にgroupbyと検索すると「wrdTrk.word like(:word)」が検索クエリの主な部分であり、ユーザーエクスペリエンスを高めるためにboolean検索に移動する必要があります。私のデータベースは約23652826行あり、dbはInnodbベースで、MySql全文検索は機能しません。
よろしく 盧
あなたはこれについてより多くの光を当てることができます。 – sesmic
luceneを使用する場合は、まずzend luceneを使用して検索データのインデックスを作成してから検索を実行してください。 – Ankur