2017-08-03 8 views
0

私は "engineer"と入力して "Engine"や "Eng"や "Engineers"のような結果を返すようにMySQLで検索したいと思います。 MySQLを使用することは可能ですか、これを行うための他のツールがありますか?Weightage mysqlで検索

答えて

0

これは部分的に、検索語のステムバージョンを使用してカバーすることができます。

これは現在サポートされていませんが、将来のバージョンのMySQLサーバに統合されている可能性があります。タスクWL#2423

mnoGoSearchのようなMySQLプラグインを代わりに使用することができます。

0

はい。 MySQL LIKE演算子は逆の方法で使用できます。ここ COLUMNNAMEあなたはCASEを無視したくない場合、あなたはOR件までクエリを使用することができますが、ここで

SELECT * FROM test WHERE ('engineer' LIKE CONCAT(columnName,'%')) OR ('engineer' LIKE CONCAT(LOWER(columnName),'%')); 

を検索したい列の名前です。 ENGINEERとして入力したい場合は、LOWERと同じUPPERを使用できます。

0

http://sphinxsearch.com/docs/current.html#conf-morphology

の形態のプロセッサはステマーを含み(すでにスフィンクスのためにこの質問をタグ付け)スフィンクスで行うことができますengineerengineersに一致するようにできるようになるなど

それは直接のwouldnt engineerと一致するengに対処すると、有効な「短い」バージョンを見つける何らかの方法ほど複雑になります。ワードフォームを使用して、そのリストを作成することができます(例:eng > engineer)。同じような非常に異なる意味を持ち始めているにもかかわらず、すべての「ショートフォーム」が承認されるわけではないので、一般的な解決策が可能であるかどうかは分かりません。