一、索引目录 就是存放索引目录的抽象,里面存放索引文件,用Directory表示,但他是一个抽象类不能直接使用,要用他的子类
1.FSDirectory:文件目录系统,通过磁盘来获取
MMapDirectory:内存映射目录,支持内存映射
NIOFSDirectory:linux支持
SimpleFSDirectory:windos支持
*正常来说我们要根据自己的系统来选择合适的Directory,其实不用调用Directory.open已经帮我们做好了判断
2.RAMDirectory:内存目录
二、分词器Analyzer 不同的分词器将句子按一定规则分开
三、Indexablefield 可索引的字段,相当于数据将表中的列。Indexablefield不能实例化,要使用它的实现类Field。要使用Field必须要传入type,通常type主要包括:
1.stored是否想要在数据库存取,一般前台搜索的要设置为true。
2.IndexOptions是否在索引区创建索引,判断前台是否需要查询。
3.Tokenized是否支持分词,内容是否支持分词创建索引,是否有名词。
优秀实践:不会直接使用Field,要用他的子类。
StringField不分词字符串 (地名等)
TextField分词字符串 (标题内容等)