Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tìm kiếm nhân sư cho các kết quả phù hợp từ khóa một phần

Một cách là lưu trữ một lượng từ trong chỉ mục nhân sư làm thuộc tính.

sql_field_str2wordcount là một cách hay để thực hiện việc này http://sphinxsearch.com /docs/current.html#conf-sql-field-str2wordcount

Sau đó, bạn có thể sử dụng nó làm cơ sở của một bộ lọc

$cl->setMatchMode(SPH_MATCH_EXTENDED);
$cl->setRankingMode(SPH_RANK_WORDCOUNT);
$cl->setSelect("*,IF(@weight=>titles,1,0) as myfilter");
$cl->setFilter("myfilter",array(1));
$cl->Query("\"$search_key\"/1",'Title');

(Xin lỗi, tôi không biết cách thực hiện điều này cụ thể trong tư duy nhân sư. Trên đây là cú pháp API PHP)

Chỉnh sửa, kiểm tra http://freelancing-god.github.com/ts/ vi / seek.html http://freelancing-god.github.com/ts/ vi / common_issues.html # or_attributes

trông giống như có thể là một cái gì đó giống như

with_display = "*, IF(@weight=>titles,1,0) AS display"
Title.search 'search_key/3',
  :match_mode => :extended,
  :rank_mode => :wordcount,
  :sphinx_select => with_display,
  :with          => {'display' => 1}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chuyển đổi thời gian MySQL sang dấu thời gian UNIX bằng PHP?

  2. Truy vấn Mysql VIEWS so với truy vấn PHP

  3. Lỗi khi tải mô-đun MySQLdb với Django trên OS X

  4. Làm thế nào để sửa đổi các chuỗi phụ?

  5. truy vấn sql để chọn bản ghi có cùng id nhưng khác giá trị trong hai cột