使用es实现个人博客的模糊搜索,搜索推荐
目录
需求
实现效果
设计
gitee仓库
应用博客
需求
考虑如何将博客系统接入es技术。
1.如何将数据库的数据同步到es去,处理好mapping
2.做模糊搜索+智能推荐的技术选型
3.所选技术的优缺点
4.高亮显示(选择命中的标题,概要以及它的文章内容,节选50个字符)
5.JAVA_API的使用
实现效果
提供两种查询方式——es和Mysql
以下为es,有搜索推荐(通过前缀判断),有多字段(文章标题,概要,内容)以及模糊查询(智能纠错等)
mysql查询: 通过like语句
canal完成数据同步(从mysql到es)
插入数据
canal这边完成响应:
使用es搜索已经能搜索到了
DogGod_07: [code=plain] assume cs:codesg,ss:stacksg,ds:datasg stacksg segment dw 0,0,0,0,0,0,0,0 stacksg ends datasg segment db '1. display ' db '2. brows ' db '3. replace ' db '4. modify ' datasg ends codesg segment start: mov ax,datasg mov ds,ax mov ax,stacksg mov ss,ax mov bx,3 mov cx,4 mov sp,16 lp1: push cx ;将外层循环的cx与bx放入栈中,寄存下来 push bx mov cx,4 ;因为要修改四个字母,所以内层循环中cx的值一直要保持4 lp2: mov al,[bx] and al,11011111b mov [bx],al inc bx loop lp2 pop bx ;分别按顺序去除bx与cx,再进行修改 add bx,16 [/code]
约里娜: 请问现在找到是什么问题了吗?
一个小脑袋: 博文还是一样的好,谢谢你的分享
ruiki_1201: 博主的意思应该是:输入wl的话基于FAS会查询出wl这个词项,但是实际上wl只是一个词项前缀不是真实的词项,若是被查询出来了便与实际情况对不上了,因为实际上根本不存在这个词项。FST基于出度就可以处理这个问题。
奇幻Oliver: "因为它是2^16,而我们的int类型是2^32,也就是说,任何一个int数字,除以65536得到的商和余数都不会超过65535.因为它事实上是可以拆分成2^16*2^16"这个跟没有说一样,还是没懂为什么选择65535,为什么让任何一个数字不超过65535而不是别的数字??????