0
我在PHP/MySQL的票務系統上工作。 我們已經在布爾模式下實現了mysql FTS,爲用戶提供搜索功能。 用戶輸入搜索字符串,我們向她展示問題列表。MySQL FTS實施
下面是示例數據庫模式:
問題表 - (ID,冠軍,描述)
它FTS指數(標題,描述)
issue_comments表 - ( ID,issue_id,comment)
它有FTS指數(評論)
每個問題可以有多個評論。 所以有可能在issue_comments表中對應於行的問題表多行
說用戶輸入搜索字符串 - α+β
php腳本打破了個別單詞的字符串,追加一個「+'在每個單詞前標記並執行下面的查詢。
select id as issue_id from issues where match(title, description) against ('+alpha +beta' in boolean mode)
union
select id as issue_id from issues inner join issue_comments on issue.id=issue_comments.issue_id where match(comment) against ('+alpha +beta' in boolean mode)
它會搜索所有問題
具有(標題,描述)
α和β或與該問題的一個評論都α和β。
但是這種設置有一個限制
我想一個問題來在搜索結果中如果Alpha是存在於問題標題和β存在於它的評論之一。這是不可能的以上設置。
我該如何做到這一點?