2012-03-13 30 views
33

Tôi đang làm việc với toàn văn, tôi thực hiện một lệnh để thêm chỉ số toàn văn đến nhiều ý kiến, và trở về không có lỗi, sau đó tôi đã làm:Không thể tìm thấy chỉ mục toàn văn phù hợp với danh sách cột (chỉ số được thiết lập)

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda'); 

Đó là trong cột thương hiệu - nhưng tôi nhận được như sau:

không thể tìm thấy chỉ mục toàn văn phù hợp với danh sách cột

Eventho, khi lo bàn của tôi oks như thế này:

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`) 

Có phải vì tôi nên sử dụng name thay thế? để thực hiện tìm kiếm? Hoặc điều gì có thể sai.

+0

Bạn đang sử dụng động cơ nào? –

Trả lời

73

Giả sử bạn đang sử dụng động cơ MyISAM, Execute:

ALTER TABLE products ADD FULLTEXT(brand); 

Chỉ số toàn văn nên chứa chính xác cùng một số cột, trong cùng một thứ tự như đã đề cập tại khoản MATCH.

+0

Cảm ơn, nó đã giải quyết được vấn đề của tôi. –

+8

@Zerpex nếu vấn đề của bạn được giải quyết thì bạn nên đánh dấu nó là ans – vikas

+0

@ jerrymouse, tôi có nghi ngờ, tôi có ba cột văn bản đầy đủ và tôi muốn tìm kiếm toàn văn chỉ trên hai cột, cách tôi có thể? – vikas

6

Khi mọi thứ đã đúng và vẫn gặp lỗi này, tôi nhận thấy rằng KEYS đã bị tắt. Một lỗi đơn giản đôi khi bị bỏ qua:

Đảm bảo bạn đã bật các phím trên bảng đó.

Nó không hoạt động đối với tôi khi tôi đã vô hiệu hóa các phím. Nhưng khi tôi bật các phím ALTER TABLE table name ENABLE KEYS;, nó hoạt động tốt

Các vấn đề liên quan