slor搜索不精准优化
目的:为了解决商城在使用搜索引擎,搜索结果不准确的问题,利用hancks中文分词器、xxljob实现slor分词的更新。
一、新建springBoot项目,在启动时建表
@Component
public class ParticipleApplicationRunner implements ApplicationRunner {
Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private GenerateDataBaseService generateDataBaseService;
@Override
public void run(ApplicationArguments args) throws Exception {
logger.info("生成基础表");
generateDataBaseService.generateBasicsTable();
logger.info("执行生成词性表");
generateDataBaseService.generateWordClassTable();
}
}
二、配置xxljob指定在指定的时间定期执行,如每天三点;
三、查询数据库里所有的商品名称,去和现有已分过词的做一个匹配,如果没有分过,进行分词,保存所有新的分词和新的商品名称
四:生成文件,把数据库的分词结果写到文件,更新到slor指定目录
因为存分词的数据库表比较多,可以查出所有的数据库表,针对每一张表生成相应的文件
SELECT
TABLE_NAME,
table_rows
FROM
information_schema. TABLES
WHERE
TABLE_SCHEMA = 'participle'
AND TABLE_ROWS > 0
AND LEFT (TABLE_NAME, 10) = 'word_class';
五、重建索引