Cần giúp đỡ chức năng tìm kiếm

Em có làm một trang web tra cứu công thức và sử dụng full-text search để đưa vào chức năng tìm kiếm. Nhưng em thử tìm kiếm: I q t thì nó không ra cái q=i*t lên đầu mà đưa kết quả lên đầu chỉ chứa giá trị I và q không có giá trị t. Có anh chị nào giúp e vụ này k ạ?
Câu query của e là thế này ạ:
PHP:
[PHP]
SELECT * FROM formula WHERE  MATCH(dailuong) against('".$keysearch."'IN NATURAL LANGUAGE MODE) AND mon='".chmon($mon)."'
[/PHP]
 
  • Chủ đề
    full-text search
  • IN NATURAL LANGUAGE MODE: tìm kiếm ngôn ngữ tự nhiên chứ l q t không phải ngôn ngữ tự nhiên và nó quá ngắn, làm cho kết quả tìm kiếm sai

    Mã:
    https://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html

    Trang này đã ví dụ rồi nha
    Database => tìm kiếm thấy 2 kết quả
    MySQL => không tìm thấy mặc dù có MySQL
     
    IN NATURAL LANGUAGE MODE: tìm kiếm ngôn ngữ tự nhiên chứ l q t không phải ngôn ngữ tự nhiên và nó quá ngắn, làm cho kết quả tìm kiếm sai

    Mã:
    https://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html

    Trang này đã ví dụ rồi nha
    Database => tìm kiếm thấy 2 kết quả
    MySQL => không tìm thấy mặc dù có MySQL
    Vậy làm sao để ưu tiên cho cả 3 cái cùng hiện lên đầu rồi các giá trị liên quan khác xếp sau??? I q t nó ngắn ko tìm được nên mình có thêm từ keys dô mỗi từ thì mysql mới nhận diện được rồi. Ngoài ra mình có kết hợp tìm từ từ khóa ví dụ: 'định luật Cu lông...' nữa nên mình sài IN NATURAL LANGUAGE MODE
     
    Bạn muốn vậy thì bạn phải sắp xếp kết quả truy vấn, đặt quy tắt sắp xếp ưu tiên cho kết quả tìm kiếm, bạn phải viết một bộ lọc dữ liệu riêng

    Bạn nên giới hạn và điều hướng người dùng tìm kiếm, request các từ khóa để điều hướng người dùng và xây dựng bộ lọc phân tích từ khóa người dùng nhập thay vì query trực tiếp của người dùng

    Tìm kiếm càng sát thì đòi khỏi khả năng phân tích từ khóa của người dùng nhập càng cao, càng tiêu tốn nhiều tài nguyên máy chủ

    Trong câu truy vấn của bạn chỉ thấy nó đang tìm kiếm từ khóa trong cột "dailuong" và đồng thời phải thỏa mãn "mon", còn csdl bạn không cung cấp thì làm sao mà có cơ sở phân tích được bạn
     
    Bạn muốn vậy thì bạn phải sắp xếp kết quả truy vấn, đặt quy tắt sắp xếp ưu tiên cho kết quả tìm kiếm, bạn phải viết một bộ lọc dữ liệu riêng

    Bạn nên giới hạn và điều hướng người dùng tìm kiếm, request các từ khóa để điều hướng người dùng và xây dựng bộ lọc phân tích từ khóa người dùng nhập thay vì query trực tiếp của người dùng

    Tìm kiếm càng sát thì đòi khỏi khả năng phân tích từ khóa của người dùng nhập càng cao, càng tiêu tốn nhiều tài nguyên máy chủ

    Trong câu truy vấn của bạn chỉ thấy nó đang tìm kiếm từ khóa trong cột "dailuong" và đồng thời phải thỏa mãn "mon", còn csdl bạn không cung cấp thì làm sao mà có cơ sở phân tích được bạn
    Về việc thỏa mãn môn thì mình để and mon= rồi đó. Nhưng k biết v là có hợp lý không với lại bạn nói rõ hơn cho mình xây dựng bộ lọc phân tích từ khóa được không để mình kiếm học thêm.
     

    Thống kê

    Chủ đề
    102,787
    Bài viết
    470,612
    Thành viên
    340,593
    Thành viên mới nhất
    winspire
    Top