[英]Boolean mode search on column of individual words MySQL
我想在沒有全文索引的情況下對我的表執行布爾模式搜索。 我的數據集需要極高的詳細程度,因此我的文檔中的每個單詞都是它自己的行,而不是每個文檔都是一行。 是否可以將常規索引作為布爾模式搜索的主題,而不是將全文索引(這里顯然沒有用)作為主題?
聽起來您的數據是文檔字結構的。
進行此工作的一種方法是使用標准比較和having
子句。 以下將搜索“ wordA”和“ wordB”,而不是“ WordC”:
select DocumentId
from DocumentWords dw
group by DocumentId
having max(word = 'WordA') > 0 and
max(word = 'WordB') > 0 and
mac(word = 'WordC') = 0;
如果要使用全文本索引,則可以將文檔連接在一起,例如:
select DocumentId, group_concat(word separator ', ')
from DocumentWords dw
group by DocumentId
將此存儲為單獨的表,並在其中使用全文本索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.