solr搜索引擎

solr搜索引擎,第1张

在搜索结果页的链接最后添加&wt=xslt&tr=example.xsl,然后重新载入该查询结果的页面,该页面就被转换成相应的网页结构形式了。例如:ubuntu:8983/solr/select/?q=163%0D%0A&version=2.2&start=0&rows=10&indent=on这是原查询结果页面链接,添加后就是ubuntu:8983/solr/select/?q=163%0D%0A&version=2.2&start=0&rows=10&indent=on&wt=xslt&tr=example.xsl,然后回车载入,就可以以类似html结构的形式显示了。那个solr自带的example.xsl文件在{solr_home}/example/solr/conf/xslt下面。如果你需要显示的更加漂亮结构的话,得需要自己制作相应的xsl文件的,这需要掌握xml相关的知识。你可以修改solr自带的example.xsl,也可以自己重新制作一个xsl文件,只要把最后的&wt=xslt&tr=example.xsl替换成&wt=xslt&tr=自己制作的xsl文件名.xsl即可。

打字不易,如满意,望采纳。

solr数据导入,经过这几天的查资料,我觉得solr数据导入可以有三种方式:

1、编写数据xml文件,通过post.jar导入;

2、通过DIH导入;

3、利用solrj导入数据;

现针对第三种方式进行研究,在第一步中写了一段小的测试代码,可以参考:http://wiki.apache.org/solr/Solrj#Streaming_documents_for_an_update

具体的代码解释如下:

String url = "http://localhost:8080/solr"

HttpSolrServer server = new HttpSolrServer(url)

//If you wish to delete all the data from the index, do this

//server.deleteByQuery( "*:*" )

//Construct a document

SolrInputDocument doc1 = new SolrInputDocument()

doc1.addField( "id", "id1_solrj" )

doc1.addField( "type", "doc1_solrj" )

doc1.addField( "name", "name1_solrj" )

//Construct another document

SolrInputDocument doc2 = new SolrInputDocument()

doc2.addField( "id", "id2" )

doc2.addField( "type", "doc2_solrj" )

doc2.addField( "name", "name2_solrj" )

//Create a collection of documents

Collection<SolrInputDocument>docs = new ArrayList<SolrInputDocument>()

docs.add(doc1)

docs.add(doc2)

//Do a commit

try {

server.add(docs)

server.commit()

} catch (SolrServerException e) {

System.out.println("server commit error, error code:")

e.printStackTrace()

} catch (IOException e) {

System.out.println("server commit error, error code:")

e.printStackTrace()

}

}

该端代码执行后报异常:expect mime type application/octet-stream but got text/html

没找到这个的解决办法,根据提示好像是说期望的类型和服务器反馈的类型不匹配

最后的解决办法是这样的:

之前在配置solr服务器的时候将solr解压路径\solr-4.8.1\example\solr下的solr.xml用\solr-4.8.1\example\multicore下的solr.xml文件进行了替换,目的是为了引入core0和core1,现在需要将这个动作进行回滚,并且修改collection1下的conf下的schema.xml文件,修改为对应的需要的列定义。然后执行以上的代码就不会产生问题。

原因我也不太明白,感觉应该是collection1的配置和core1、core0、乃至之前文章提到过的solrtest的配置应该不太一样。原因待查。不过现在已经可以通过客户端的方式将数据导入solr服务器,并在前端可以查询到相应的数据。

从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。 单机对比 1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6273670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存