質問

自分のサイトに小さな検索機能を構築しています。ユーザーのクエリを取得し、キーワードをステミングし、ステミングされたキーワードに対して MySQL の全文検索を実行しています。

問題は、MySQL がステムをリテラルとして扱っていることです。起こっているプロセスは次のとおりです。

  1. ユーザーが「野球」のような単語を検索します
  2. 私のステミング アルゴリズム (ポーター ステマー) は「野球」を「野球」に変えます
  3. 「baseball」と「baseball」に一致するものがあるはずですが、全文検索では「basebal」に一致するものは見つかりません。

フルテキストで LIKE 'basebal%' と同等のことを行うにはどうすればよいですか?

編集:

私の現在のクエリは次のとおりです。

SELECT MATCH (`title`,`body`) AGAINST ('basebal') AS `relevance`,`id` FROM `blogs` WHERE MATCH (`title`,`body`) AGAINST ('basebal') ORDER BY `relevance` DESC
役に立ちましたか?

解決

basebal*

私はそれが最後にアスタリスクで動作すると思います。詳細は、このページをrel="noreferrer"> href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html" *演算子を参照してください。

他のヒント

このリンクを参照してください。.. MySQLではデフォルトでインストールされていないステミングが、あなたはそれをあなたの自己をインストールすることができます..

http://oksoft.blogspot.com/2009/ 05 /派生語インmysql.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top