Open yyzhiqiu opened 11 months ago
按照这个 https://www.sqlite.org/fts5.html#fts5_column_filters 的描述,是可以根据列来搜索的,不过目前 simple_query() 这个函数确实不支持这个功能,需要开发
你可以考虑提 PR,也可以试一下其他方法,比如:
select rowid as id, TITLE,CONTENT, simple_highlight(t1, 0, '[', ']') as title_highlighted, simple_highlight(t1, 1, '[', ']') as content_highlighted from t1 where t1 match "title : " || simple_query('周杰伦')
也就是自己把只想搜索的列名拼到 simple_query 前面感谢 我试了一下 第二种方法可以解决列过滤的问题,牛的 牛的 比如: select rowid as id, TITLE,CONTENT, simple_highlight(t1, 0, '[', ']') as title_highlighted, simple_highlight(t1, 1, '[', ']') as content_highlighted from t1 where t1 match "{TITLE CONTENT} :" || simple_query('周杰伦')
比如readme中的例子 select rowid as id, TITLE,CONTENT, simple_highlight(t1, 0, '[', ']') as title_highlighted, simple_highlight(t1, 1, '[', ']') as content_highlighted from t1 where t1 match simple_query('周杰伦')
如果我当前表t1 的结构为 serviceId tableName title content 多个列 我现在只想针对 title content 列进行全文检索,我试过使用sqlite中的柱过滤器,没办法实现 用 where 列1 match 值1 OR 列2 match 值2 的画 高亮又会有问题
希望有具体的方案和例子 谢谢