lucene
Introduction to Apache Lucene
Integrating search in your application with Apache Lucene
Elasticsearch Product Search Demo
Lucene项目专注于构建索引和搜索
Lucene索引层级结构主要包括:
Index(索引),
Segment(索引段),
Document(索引文档),
Field(索引域),
Term(索引项)
----
通常在数据库中我们都是根据文档找到内容,
而这里是通过词,能够快速找到包含他的文档,这就是文档倒排链表。
关键字是按字符顺序排列的(lucene没有使用B树结构),
因此lucene可以用二元搜索算法快速定位关键词。
虽然全文搜索领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,
#生成文档
pnpm install -g docco
docco src/main/java/example/basic/*.java
Elasticsearch
下载地址:https://www.elastic.co/downloads/elasticsearch
ES与Mysql的比较
| ElastciSearch全文搜索 | Mysql关系型数据库 |
| 索引库(index) | 数据库(database) |
| 文档类型(Type) | 数据表(Table) |
| 文档(Document) | 一行数据(Row) |
| 字段(field) | 一个列(column) |
| 文档ID | 主键ID |
| 查询(Query DSL) | 查询(SQL) |
| GET http://… | SELECT * FROM … |
| PUT http:// | UPDATE table set… |