1

これまでのところ、ウェブ上に存在する回答はありません。この課題に対するあなたの専門知識を期待しています:

ユーザーが入力したキーワードの順序を考慮して、検索結果 (製品タイトル) をランク付けする必要があります。

例: ユーザーが検索フィールドに入力: デジタル カメラ canon 123

望ましいランキングは次のとおりです。

  1. デジタルカメラキヤノン123
  2. デジタルカメラ canon 123 ABC
  3. デジタルカメラ canon 123A
  4. デジタルカメラのキャノニング
  5. デジタルカメラソニー
  6. デジタルビデオカメラ
  7. カメラキャノン123A
  8. カメラキヤノン
  9. 123
  10. カメラマン 1234
  11. 正規化

MYSQL クエリがどのようにそれを行うことができるか、手がかりはありますか?

ストップワードのフィルタリングは、あると便利な機能です.....

どうもありがとう!

4

2 に答える 2

1

FULL TEXT INDEX を試しましたか?

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

于 2012-08-22T14:46:17.413 に答える
0

いくつかのハックを使用して MySQL でこれを行うことはおそらく可能ですが、私は真剣に反対することをお勧めします。

多くのチューニング オプションを使用して高速で優れた検索結果を得たい場合は、SolrまたはSphinxを使用することを強くお勧めします。


そうは言っても、ここにあなたの質問に対する本当の答えがあります:

特定の語順の検索: 特定の語順のMySQL フルテキスト

ストップワードのフィルタリングはかなり簡単です: http://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html

于 2012-08-22T14:59:10.997 に答える