1. 文档(Document)和域(Field)
Document是Lucene索引和搜索的最小单元。然而实际上它只是一个或多个Field的容器,Field中保存着真正的内容。
Field由三部分组成:名称(作为域的唯一标识); 值(文本或二进制值); 选项(针对该域的一些细节描述)
2. Field的高级设置
1) 值可以被索引或不索引。被索引的域才能被搜索到。只有文本域才能被索引,二进制值域只能被存储(store)
2) 被索引的域可以增加检索词向量(term vectors)
3) 值可以被存储
3. Lucene与数据库的区别
1) 灵活的模式(schema)
Lucene并不像数据库一样,拥有固定的全局模式。新加入的document和已有的document完全不同,它们可以拥有全新的域。
2) 非规范化(Denormalization)
Lucene需要对索引内容进行非规范化操作。
一些开源框架如Hibernate Search, Compass, LuSQL, DBSight,Browse Engine 及 Oracle/Lucene integration能够完成此任务。