数据库中印地语书籍章节搜索过慢且无结果,如何优化?
印地语书籍内容搜索性能优化问题
背景与数据现状
我正在开发一款书籍内容搜索应用,核心功能是搜索指定关键词或短语,返回包含该内容的页码及对应行。目前已完成49本PDF书籍的拆分处理,共得到521个章节,每个章节的内容以nvarchar(max)类型存储在SQL Server的[BookStoreDb].[dbo].[ChapterContent]表中,一行对应一个章节,所有内容均为印地语。后续书籍数量会增至700+,章节数也会同步增加。
通过以下查询统计到章节内容的平均长度为49422:
select avg(leng) from ( select len(Text) as leng FROM [BookStoreDb].[dbo].[ChapterContent] ) as Total
初始搜索性能瓶颈
使用LIKE语句搜索印地语关键词时,耗时近18分钟仍未返回结果,远达不到预期的3-4秒响应速度:
SELECT * FROM [BookStoreDb].[dbo].[ChapterContent] where Text like N'%प्रेम%'
全文索引尝试后的问题
我尝试创建全文索引优化搜索,但执行全文搜索查询时依然极慢且无结果返回:
全文索引创建命令:
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT; CREATE UNIQUE INDEX cont on dbo.ChapterContent(id) CREATE FULLTEXT INDEX ON dbo.ChapterContent ( [Text] Language 1081 ) KEY INDEX cont ON ftCatalog;
全文搜索查询语句:
SELECT [Text] FROM dbo.ChapterContent WHERE FREETEXT([Text], 'प्रेम');
求助需求
想明确问题根源所在?该如何优化搜索性能以达到预期响应速度?针对这类大体积印地语文本数据,有什么妥善的处理方案?
内容的提问来源于stack exchange,提问作者Rasik
相关产品推荐
相关产品推荐

