如何使用空间在 android 中实施 FTS?
How to implement FTS in android using room?
我需要在我的应用程序中执行搜索操作,因此我尝试使用 android 中的房间实现全文搜索。但是我没有得到想要的 output.The 我不清楚查询。我在下面提到了查询:
@Query("SELECT posts.postId,posts.authorName,posts.authorImageUrl,posts.title,posts.message,posts.thumbnailUrl,posts.downloadUrl,posts.postTimeStamp,posts.type,posts.seenByUser,posts.mimeType,posts.isBookmarked FROM postsFts JOIN posts ON (posts.postId = postsFts.postId)")
fun searchInPostsLocalDB(query: String): List<PostsModel>
我想在输出中获取匹配行的列表。
您缺少 match
,它检查哪一行与查询匹配。所以答案是:
@Query("SELECT * FROM postsFts JOIN posts ON (posts.postId = postsFts.postId) WHERE postsFts MATCH :query")
fun searchInPostsLocalDB(query: String): List<PostsModel>
并使用 *
包围 query
使其成为通配符。
例如:*tarun*
我需要在我的应用程序中执行搜索操作,因此我尝试使用 android 中的房间实现全文搜索。但是我没有得到想要的 output.The 我不清楚查询。我在下面提到了查询:
@Query("SELECT posts.postId,posts.authorName,posts.authorImageUrl,posts.title,posts.message,posts.thumbnailUrl,posts.downloadUrl,posts.postTimeStamp,posts.type,posts.seenByUser,posts.mimeType,posts.isBookmarked FROM postsFts JOIN posts ON (posts.postId = postsFts.postId)")
fun searchInPostsLocalDB(query: String): List<PostsModel>
我想在输出中获取匹配行的列表。
您缺少 match
,它检查哪一行与查询匹配。所以答案是:
@Query("SELECT * FROM postsFts JOIN posts ON (posts.postId = postsFts.postId) WHERE postsFts MATCH :query")
fun searchInPostsLocalDB(query: String): List<PostsModel>
并使用 *
包围 query
使其成为通配符。
例如:*tarun*