<add>
<doc>
<field name="id">101</field>
<field name="name">kylin soong is a programmer</field>
</doc>
<doc>
<field name="id">102</field>
<field name="name">kobe bryant is a basketball player</field>
</doc>
<doc>
<field name="id">103</field>
<field name="name">jay chou is a singer</field>
</doc>
<doc>
<field name="id">104</field>
<field name="name">jane zhang is a singer</field>
</doc>
<doc>
<field name="id">105</field>
<field name="name">coco lee is a singer</field>
</doc>
<doc>
<field name="id">106</field>
<field name="name">andy liu is a actor</field>
</doc>
</add>
如上XML名为kobe.xml,会在下面的例子中看到;
TomcatClient为我自己命名的类,及相关类在附件下项目com.javaeye.solr.tomcat包下面,主要类为:TomcatClient.java,该类主要public方法如下:
public TomcatClient(String solrURL)为构造方法,通过提供字符串建立与Tomcat上SolrURL,通过此URL可以进行Stream交换
public int postFiles(String[] files, int startIndexInArgs)
public void postFile(File file, Writer output)
public void postData(Reader data, Writer output) 这三个方法都是向Solr上建立索引的方法,第一个是为一系列File建立索引,第二个为一个File建立索引,第三个是把File通过字节的形式读取传入,这个方法适合File比较小,
注意,不推荐使用第三个方法,因为第三个方法没有考虑到编码的问题,如果File中有中文就会有问题
public void commit(Writer output)
public void rollback(Writer output)
public void optimize(Writer output)
public void deleteByUniqueKey(String key, Writer output)这四个方法分别是提交,回滚、优化、删除
接下来我们就给出一段简单运行结果,运行j简单代码如下:
public static void main(String[] args) throws IOException {
File file = new File("D:\\new period\\solr\\post\\kobe.xml");
String url = "http://localhost:8080/solr";
TomcatClient client = new TomcatClient(url);
StringWriter output = null;
output = new StringWriter();
client.postFile(file, output);
output = new StringWriter();
client.commit(output);
}
接下来我们去看我们去Solr管理界面看运行结果如下图: