0

こんにちは、完全一致検索をさらに最適化するにはどうすればよいかについてのトリックを知っていますか?

最適化しようとしているコード:

$do = $this->select()
      ->where('MATCH(`name`,`ort`) AGAINST( ? IN BOOLEAN MODE)', $theString)
      ->order('premium DESC');

検索はいくつかの会社を検索する必要があります...そして、フィールドGoogleがあり、ortフィールドにnew yorkがあるとしましょう。

私は次のようなクエリを実行したいと考えています:ニューヨークの google center の結果として、ニューヨークのすべての google center のみを取得します!

私の言いたいことを理解していただければ幸いです。

4

3 に答える 3

1

関連性を使用して並べ替える

$do = $this->select("*, MATCH(`name`,`ort`) AGAINST ('{$theString}') AS score")
      ->where('MATCH(`name`,`ort`) AGAINST( ? IN BOOLEAN MODE)', $theString)
      ->order('premium DESC, score');
于 2009-12-22T19:47:15.893 に答える
1

見ておいたほうがいいと思います

于 2009-12-22T19:32:54.143 に答える
1

NATURAL LANGUAGE MODEあなたのタイプのクエリは、ではなく で全文検索した方が一致する可能性がありますBOOLEAN MODE

ブール値モードで「google center in new york」を検索すると、これらすべてのキーワードに一致するものが見つかりますが、必ずしもその順序や概念に一致するとは限りません。

于 2009-12-22T19:41:49.533 に答える