Googleがいくつかの検索クエリで行うように、「もしかして:」をどのように実装できますか?
PS:私は自分の製品にスフィンクスを使用しています。これをどのように実装できるか提案できますか。この機能を備えた他の検索エンジンのガイドや提案は大歓迎です。私はrails2.3.8を使用しています。
1つの解決策は次のとおりです。
既知の「キーワード」または「フレーズ」の辞書を作成し、検索アクションで何も見つからない場合は、その辞書で2次クエリを実行します。ブログ投稿やユーザー名など、検索可能なエントリが作成されるたびに、その辞書を更新します。
query = "supreman"
辞書=["スーパーマン"、 "バットマン"、 "ハヌマーン"...](DBテーブル内)
検索クエリー)
結果がない場合は、
辞書で検索(「キーワード」LIKEクエリまたは「フレーズ」LIKEクエリ)=>「スーパーマン」
sphinxまたはsolrのドキュメントをチェックインします。彼らは、%一致を返すこの「いいね」クエリのより良い実装を持っているかもしれません。
- 表示->「スーパーマン」のことですか?
しかし、ポイントはそれを効率的にする方法ですか?