一个go语言实现的简单搜索引擎

上传者: bala5569 | 上传时间: 2022-05-31 09:12:14 | 文件大小: 146KB | 文件类型: ZIP
一个go语言实现的简单搜索引擎 类似于数据库的表一样按字段进行存储 支持倒排索引字段,正排索引字段,仅仅储存不进行检索的字段 倒排索引支持 完全匹配的字符串(类似ID,ISBN等需要完全匹配的属性) 分词类型 (全文索引) 根据特殊标志符进行切分的模式 正排索引支持 数字索引(暂时只支持整数,需要自己将其他数转化成整数) 日期索引(目前支持2005-01-02 00:02:03和2005-01-02两种格式) 不进行检索字段,只存储详细信息 实时搜索引擎,索引器和检索器就是同一个服务,通过json方式push数据进引擎,引擎自行就行存储,不需要先进行全量索引建立 支持搜索,过滤,汇总,统计四种查询 策略引擎部分可以自己实现接口进行扩展 无配置文件,只需要在启动的时候指定端口 使用MMAP方式进行数据存储和读取 使用B+树进行字典和key的存储 实时索引,随时进行索引更新 默认使用文本相关性进行排序 性能测试报告稍后提交

文件下载

资源详情

[{"title":"( 85 个子文件 146KB ) 一个go语言实现的简单搜索引擎\n\n","children":[{"title":"FalconEngine-master","children":[{"title":"index","children":[{"title":"segment","children":[{"title":"segment_service.go <span style='color:#111;'> 457B </span>","children":null,"spread":false},{"title":"segment_test.go <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false},{"title":"segment.go <span style='color:#111;'> 3.56KB </span>","children":null,"spread":false}],"spread":true},{"title":"index_service.go <span style='color:#111;'> 438B </span>","children":null,"spread":false},{"title":"index_test.go <span style='color:#111;'> 817B </span>","children":null,"spread":false},{"title":"index.go <span style='color:#111;'> 4.61KB </span>","children":null,"spread":false},{"title":"dict","children":[{"title":"dict_map.go <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":"dict_service.go <span style='color:#111;'> 860B </span>","children":null,"spread":false},{"title":"dict_map_test.go <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false}],"spread":true},{"title":"invert","children":[{"title":"invert_writer.go <span style='color:#111;'> 1.75KB </span>","children":null,"spread":false},{"title":"invert_service.go <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"invert_set.go <span style='color:#111;'> 6.78KB </span>","children":null,"spread":false},{"title":"memory_doc_list.go <span style='color:#111;'> 2.08KB </span>","children":null,"spread":false},{"title":"invert_reader.go <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"invert_test.go <span style='color:#111;'> 3.92KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"test.go <span style='color:#111;'> 165B </span>","children":null,"spread":false},{"title":"tools","children":[{"title":"define.go <span style='color:#111;'> 3.24KB </span>","children":null,"spread":false},{"title":"utils.go <span style='color:#111;'> 453B </span>","children":null,"spread":false}],"spread":true},{"title":"stop.sh <span style='color:#111;'> 32B </span>","children":null,"spread":false},{"title":"install.sh <span style='color:#111;'> 38B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"FalconDispatcher","children":[{"title":"Dispatcher.go <span style='color:#111;'> 13.03KB </span>","children":null,"spread":false}],"spread":true},{"title":"FalconEngine","children":[{"title":"defaultEngine.go <span style='color:#111;'> 15.46KB </span>","children":null,"spread":false}],"spread":true},{"title":"FalconService","children":[{"title":"httpService.go <span style='color:#111;'> 7.50KB </span>","children":null,"spread":false}],"spread":true},{"title":"FalconSearch","children":[{"title":"falcon.go <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false}],"spread":true},{"title":"tree","children":[{"title":"btree.go <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false}],"spread":true},{"title":"utils","children":[{"title":"BoltHelper.go <span style='color:#111;'> 8.28KB </span>","children":null,"spread":false},{"title":"JsonFileIO.go <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false},{"title":"Segmenter.go <span style='color:#111;'> 3.96KB </span>","children":null,"spread":false},{"title":"BitMap.go <span style='color:#111;'> 3.62KB </span>","children":null,"spread":false},{"title":"Utils.go <span style='color:#111;'> 15.52KB </span>","children":null,"spread":false},{"title":"log4FE.go <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false},{"title":"convert.go <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false},{"title":"tools.go <span style='color:#111;'> 1.76KB </span>","children":null,"spread":false},{"title":"Mmap.go <span style='color:#111;'> 6.81KB </span>","children":null,"spread":false}],"spread":true},{"title":"FalconIndexLib","children":[{"title":"segment","children":[{"title":"profile.go <span style='color:#111;'> 16.70KB </span>","children":null,"spread":false},{"title":"field.go <span style='color:#111;'> 8.68KB </span>","children":null,"spread":false},{"title":"invert.go <span style='color:#111;'> 12.33KB </span>","children":null,"spread":false},{"title":"segment.go <span style='color:#111;'> 19.43KB </span>","children":null,"spread":false}],"spread":false},{"title":"index.go <span style='color:#111;'> 16.70KB </span>","children":null,"spread":false},{"title":"shard.go <span style='color:#111;'> 973B </span>","children":null,"spread":false}],"spread":true},{"title":"bolt","children":[{"title":"bolt_windows.go <span style='color:#111;'> 3.84KB </span>","children":null,"spread":false},{"title":"bolt_amd64.go <span style='color:#111;'> 219B </span>","children":null,"spread":false},{"title":"bolt_arm64.go <span style='color:#111;'> 236B </span>","children":null,"spread":false},{"title":"bolt_unix_solaris.go <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"cmd","children":[{"title":"bolt","children":[{"title":"main_test.go <span style='color:#111;'> 4.56KB </span>","children":null,"spread":false},{"title":"main.go <span style='color:#111;'> 37.94KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"bucket.go <span style='color:#111;'> 20.02KB </span>","children":null,"spread":false},{"title":"doc.go <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"cursor.go <span style='color:#111;'> 11.09KB </span>","children":null,"spread":false},{"title":"bolt_arm.go <span style='color:#111;'> 212B </span>","children":null,"spread":false},{"title":"bolt_linux.go <span style='color:#111;'> 171B </span>","children":null,"spread":false},{"title":"bolt_openbsd.go <span style='color:#111;'> 518B </span>","children":null,"spread":false},{"title":"bolt_s390x.go <span style='color:#111;'> 236B </span>","children":null,"spread":false},{"title":"db.go <span style='color:#111;'> 27.55KB </span>","children":null,"spread":false},{"title":"errors.go <span style='color:#111;'> 2.68KB </span>","children":null,"spread":false},{"title":"bolt_386.go <span style='color:#111;'> 212B </span>","children":null,"spread":false},{"title":"boltsync_unix.go <span style='color:#111;'> 169B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"appveyor.yml <span style='color:#111;'> 262B </span>","children":null,"spread":false},{"title":"freelist.go <span style='color:#111;'> 6.23KB </span>","children":null,"spread":false},{"title":"bolt_ppc64le.go <span style='color:#111;'> 238B </span>","children":null,"spread":false},{"title":"tx.go <span style='color:#111;'> 18.17KB </span>","children":null,"spread":false},{"title":"page.go <span style='color:#111;'> 4.31KB </span>","children":null,"spread":false},{"title":"bolt_unix.go <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false},{"title":"node.go <span style='color:#111;'> 15.70KB </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 410B </span>","children":null,"spread":false},{"title":"bolt_ppc64.go <span style='color:#111;'> 236B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 31.72KB </span>","children":null,"spread":false},{"title":"bolt_ppc.go <span style='color:#111;'> 227B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"mlog","children":[{"title":"mlog.go <span style='color:#111;'> 6.76KB </span>","children":null,"spread":false}],"spread":true},{"title":"main.go <span style='color:#111;'> 179B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 231B </span>","children":null,"spread":false},{"title":"message","children":[{"title":"message.proto <span style='color:#111;'> 479B </span>","children":null,"spread":false},{"title":"message.pb.go <span style='color:#111;'> 11.28KB </span>","children":null,"spread":false},{"title":"ext_message.go <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false}],"spread":true},{"title":"start.sh <span style='color:#111;'> 40B </span>","children":null,"spread":false},{"title":"util","children":[{"title":"basic_data_test.go <span style='color:#111;'> 201B </span>","children":null,"spread":false},{"title":"basic_interface.go <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false},{"title":"basic_data.go <span style='color:#111;'> 385B </span>","children":null,"spread":false}],"spread":true},{"title":"binlog","children":[{"title":"binlog_service.go <span style='color:#111;'> 725B </span>","children":null,"spread":false}],"spread":true},{"title":"store","children":[{"title":"file_mmap_store.go <span style='color:#111;'> 1.81KB </span>","children":null,"spread":false},{"title":"file_store.go <span style='color:#111;'> 3.98KB </span>","children":null,"spread":false},{"title":"file_store_writer.go <span style='color:#111;'> 1.69KB </span>","children":null,"spread":false},{"title":"file_mmap_reader.go <span style='color:#111;'> 2.19KB </span>","children":null,"spread":false},{"title":"store_service.go <span style='color:#111;'> 747B </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明