簡體   English   中英

全文索引無法正常工作

[英]Fulltext Index does not work properly

這是我的第一篇文章,盡管我定期閱讀您的主題。

我面臨的問題與我的表上的FULLTEXT索引有關。 您可以在下面看到我遵循的過程:

CREATE TABLE dost(
  author VARCHAR(30),
  title VARCHAR(40),
  isbn SMALLINT NOT NULL)ENGINE MyISAM;

ALTER TABLE dost ADD FULLTEXT(author);

ALTER TABLE dost ADD FULLTEXT(author);

ALTER TABLE dost ADD FULLTEXT(author);

將一些數據插入表后,它看起來像這樣:

author                 title                               isbn

Fyodor Dostoyevsky     Poor Folk                           225125
Fyodor Dostoyevsky     Crime and Punishment                121320
Fyodor Dostoyevsky     The Gambler                         124239
Rowan Williams         Dostoyevsky                         083409
Joseph Frank           Dostoyevsky: A Writer In His Time   089823

當我嘗試對作者列使用MATCH AGAINST命令時,會出現問題。 更具體地說,當我輸入

SELECT author,title FROM dost WHERE MATCH(author) AGAINST('Williams');

當我遵循相同的過程並將AGAINST輸入從'Williams'更改為'Dostoyevsky'時,我得到了預期的結果(Rowan Williams Dostoyevsky)但它輸出一個空集。 另一方面,標題列上的FULLTEXT索引可以正常工作。 任何想法為什么會導致此問題?

謝謝你的時間!

您正在執行所謂的自然語言搜索。 在這種類型的搜索中,行中50%或更多的任何單詞都將被忽略為“公共值”。 參考

如果該限制不是您想要的,那么您將需要進行布爾型全文本搜索,如下所示:

SELECT author,title FROM dost WHERE MATCH(author) AGAINST('+Dostoyevsky' IN BOOLEAN MODE);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM