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

Làm cách nào để thực hiện tìm kiếm có dấu và không phân biệt chữ hoa chữ thường trong cơ sở dữ liệu MediaWiki?

MediaWiki tiện ích mở rộng TitleKey về cơ bản được thiết kế cho việc này, nhưng nó chỉ có tác dụng gập vỏ. Tuy nhiên, nếu bạn không ngại hack nó một chút và có phần mở rộng PHP iconv đã cài đặt, bạn có thể chỉnh sửa TitleKey_body.php và thay thế phương thức:

static function normalize( $text ) {
    global $wgContLang;
    return $wgContLang->caseFold( $text );
}

với ví dụ:

static function normalize( $text ) {
    return strtoupper( iconv( 'UTF-8', 'US-ASCII//TRANSLIT', $text ) );
}

và (lại) chạy build lạiTitleKeys.php.

Tiện ích TitleKey lưu trữ các tiêu đề đã chuẩn hóa của nó trong bảng riêng , được đặt tên đáng ngạc nhiên là titlekey . Nó được thiết kế để truy cập thông qua giao diện tìm kiếm MediaWiki, nhưng nếu bạn muốn, bạn chắc chắn cũng có thể truy vấn trực tiếp nó, ví dụ:như thế này:

SELECT page.* FROM page
  JOIN titlekey ON tk_page = page_id
WHERE tk_namespace = 0 AND tk_key = 'SOMETHING';


  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ấy theo vĩ độ và kinh độ trong laravel 5 với các tham gia khác

  2. Làm cách nào để đặt MySQL làm cơ sở dữ liệu mặc định trong Rails 3?

  3. Viết GeoDataFrame vào Cơ sở dữ liệu SQL

  4. MySQL:Chọn thực thi truy vấn và thời gian tìm nạp kết quả tăng lên theo số lượng kết nối

  5. Đang cập nhật mục nhập KHÔNG cập nhật dấu thời gian