索引文件
main函数实例化一个IndexWriter的实例,传递一个称为index的字符串和一个称为StandardAnalyer的类的实例。字符串index是所有索引信息将被保存的目录名称。由于我们不能传递任何路径信息,所以我们必须假设它被创建为当前目录的一个子目录(如果没有被创建的话)。在某些平台上这样做的实际结果会创建在其他目录中(比如用户的个人home目录)。
IndexWriter用于创建索引。要使用它就必须用一个可写入索引的目录路径来对它进行实例化,路径指向的目录不存在时就会自动创建,否则将刷新保存在指定目录中的索引。也必须传递一个org.apache.analysis.Analyzer的实例。
Analyzer(分析器),在这个实例中,Stop Analyzer比一个标准的java Tokenizer强一点,把所有字符串转化为小写,并且从索引中过滤无用的字,无用的字是指一般语言中类似a,an,the一样对搜索没有帮助的字。在这里必须根据每种语言的不同规则来标记,并且必须对每种语言使用合适的分析器。Lucene目前提供英语和德语的分析器。
indexDocs()部分的代码简单地抓取目录并使用FileDocument来创建文档对象。这个文档是表达文件内容的数据对象,就像文件的创建时间和位置一样。这些实例都被加入到indexWriter中,看一看FileDocument并不复杂,它只是在文档中加入了一些字段而已。
创建一个索引其实没什么。困扰之处主要在于细节。你也许希望检验目录中的其他例子,尤其是IndexHTML类,它在IndexFiles的例子之上构成,只复杂一点点。
搜索文件
SearchFiles类非常简单。它先联合一个IndexSearcher,StandardAnalyzer和一个QueryParser.查询分析器是一个用来翻译用户查询(和索引被翻译的方式相同)的分析器构成的:在查询字中去掉无用的字。Query对象包括来自QueryParser的结果,查询结果以一个称为"Hits"的文档collection返回,可被遍历并显示给用户。
main函数实例化一个IndexWriter的实例,传递一个称为index的字符串和一个称为StandardAnalyer的类的实例。字符串index是所有索引信息将被保存的目录名称。由于我们不能传递任何路径信息,所以我们必须假设它被创建为当前目录的一个子目录(如果没有被创建的话)。在某些平台上这样做的实际结果会创建在其他目录中(比如用户的个人home目录)。
IndexWriter用于创建索引。要使用它就必须用一个可写入索引的目录路径来对它进行实例化,路径指向的目录不存在时就会自动创建,否则将刷新保存在指定目录中的索引。也必须传递一个org.apache.analysis.Analyzer的实例。
Analyzer(分析器),在这个实例中,Stop Analyzer比一个标准的java Tokenizer强一点,把所有字符串转化为小写,并且从索引中过滤无用的字,无用的字是指一般语言中类似a,an,the一样对搜索没有帮助的字。在这里必须根据每种语言的不同规则来标记,并且必须对每种语言使用合适的分析器。Lucene目前提供英语和德语的分析器。
indexDocs()部分的代码简单地抓取目录并使用FileDocument来创建文档对象。这个文档是表达文件内容的数据对象,就像文件的创建时间和位置一样。这些实例都被加入到indexWriter中,看一看FileDocument并不复杂,它只是在文档中加入了一些字段而已。
创建一个索引其实没什么。困扰之处主要在于细节。你也许希望检验目录中的其他例子,尤其是IndexHTML类,它在IndexFiles的例子之上构成,只复杂一点点。
搜索文件
SearchFiles类非常简单。它先联合一个IndexSearcher,StandardAnalyzer和一个QueryParser.查询分析器是一个用来翻译用户查询(和索引被翻译的方式相同)的分析器构成的:在查询字中去掉无用的字。Query对象包括来自QueryParser的结果,查询结果以一个称为"Hits"的文档collection返回,可被遍历并显示给用户。