2009-04-28 23 views
7

Tôi muốn đặt lại danh sách từ dừng trong mysql để tìm kiếm FULLTEXT. Tôi đã cài đặt WAMP Server trong hệ thống của tôi có phpmyadmin để truy cập mysql. Nhưng tôi không biết làm thế nào để thiết lập lại từ dừng trong phpmyadmin. Bất cứ ai có thể xin vui lòng cho tôi biết làm thế nào để làm điều đó.Làm cách nào để đặt lại các từ dừng trong MYSQL?

Tôi cũng http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file đọc liên kết này nhưng không biết ho wto sử dụng điều này ???

+0

"đặt lại" như trong "tắt" các từ dừng hoặc như trong "thay đổi" các từ dừng? – Aziz

Trả lời

11

Tôi giả sử bạn đang sử dụng WampServer.

Nhấp vào biểu tượng khay, chọn MySQL, sau đó nhấp vào my.ini. Tệp cấu hình sẽ mở trong notepad. Chuyển đến cuối tệp và thêm dòng này (sau dòng cổng):

ft_stopword_file='' 

để tắt từ dừng. Nếu bạn muốn sử dụng tệp từ dừng tùy chỉnh, hãy thay thế dòng đó bằng:

ft_stopword_file='path/to/stopword_file.txt' 

(đặt đường dẫn của tệp từ dừng).

Sau khi đặt dòng đó, lưu tệp cấu hình (Tệp -> Lưu). Sau đó nhấp vào biểu tượng khay, chọn MySQL, sau đó Service, sau đó nhấp vào Restart Service.

Để đảm bảo rằng cấu hình của bạn được thực hiện chính xác, hãy mở phpMyAdmin trong trình duyệt, nhấp vào tab Variables ở trên cùng, sau đó tìm ft stopword file và xem các giá trị được đặt thành nó.

+0

Có, tôi đang sử dụng Wampserver, Cảm ơn bạn đã trả lời câu hỏi này :) – Prashant

+0

Chúng tôi chỉ tách các từ bằng một dòng mới? Làm thế nào để mysql biết cách các từ được phân tách? – srchulo

+0

@Aziz bạn có thể vui lòng cho tôi biết cấu trúc của stopword_file.txt là gì không. – hungneox

0

Danh sách các từ dừng mà MySQL gửi cùng (ít nhất là cho MyISAM) có thể được tìm thấy trong nguồn của MySQL, trong myisam/ft_static.c.

Cũng lưu ý rằng đây chỉ là các từ khóa 'tiếng Anh'. Có lẽ, các từ dừng cho các ngôn ngữ khác được xác định ở nơi khác ...

Bạn có thể ghi đè hoặc tắt danh sách từ dừng mặc định bằng cách sử dụng chỉ thị ft_stopword_file như được chỉ ra trong các nhận xét. Full documentation here.

+0

Tôi muốn biết cách vô hiệu hóa hoặc thay đổi danh sách từ dừng. Điều đó không được đưa ra trong bài viết .... – Prashant

+0

Bạn không - bạn chỉ cần thêm/chỉnh sửa my.conf. Để sử dụng stopwords.txt tùy chỉnh của riêng bạn: ft_stopword_file = 'path/to/stopword_file.txt' hoặc vô hiệu hóa: ft_stopword_file = "" Bạn sẽ cần phải xây dựng lại các chỉ số của bạn, mặc dù sử dụng SỬA CHỮA hoặc bằng cách thả và readding họ. – snipe

0

Bạn có thể tìm danh sách các từ dừng sử dụng tại đây: https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html. Tôi đã lưu danh sách này vào một tệp và tham chiếu nó từ tệp cấu hình MySQL (ví dụ: ft_stopword_file='path/to/stopword_file.txt').

Tôi đã xóa "nó" và "chúng tôi" khỏi danh sách từ dừng vì chúng có nghĩa là "Công nghệ thông tin" và "Hoa Kỳ" trong miền sự cố của tôi.

Thật không may, mỗi khi bạn thay đổi danh sách từ dừng, bạn phải khởi động lại MYSQL và xây dựng lại chỉ mục toàn văn.

+0

Liên kết bị hỏng. – jor

0

Tôi gặp vấn đề tương tự, tôi không nghĩ bạn phải biên dịch lại bất cứ điều gì, tôi đã đọc rằng bạn có thể sử dụng bảng điều khiển mysql SET ft_stopword_file = 'path/to/stopword_file.txt', điều đó không yêu cầu khởi động lại máy chủ của bạn. nhưng tôi không nghĩ rằng nó sẽ kéo dài cho đến khi khởi động lại tiếp theo, vì vậy tôi đoán tôi sẽ thử các tập tin cấu hình, và xem nếu nó hoạt động

0

tôi wass có cùng một vấn đề. tệp từ dừng phải được bao gồm trong phần [mysqld] trong tệp my.ini.

[mysqld] ft_stopword_file = 'D: /stop.txt' sau đó

bảng sửa chữa tablename làm việc cho tôi.

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