目前我使用XML文件中的Solr。 使用DataimportHandler与XPathentityProcessor我索引XML文件中的数据。
现在,我想从JSON文件导入数据。
是否有任何的例子吗?
问候,萨加尔
目前我使用XML文件中的Solr。 使用DataimportHandler与XPathentityProcessor我索引XML文件中的数据。
现在,我想从JSON文件导入数据。
是否有任何的例子吗?
问候,萨加尔
你需要的是一样的东西
curl 'http://localhost:8983/solr/update/json?commit=true' --data-binary @books.json -H 'Content-type:application/json'
从示例获取的。
来源: https://wiki.apache.org/solr/UpdateJSON
DataImportHandler不允许你使用JSON作为源。 唯一的办法是使用更新处理程序,可以在本地处理JSON。 但是,这必须是在该JSON结构Solr的预计 (阵列散列或命令/散列的散列)。
如果你不想使用curl命令,你可以在浏览器上直接开火命令并得到想要的结果:
http://localhost:8983/solr/update/json?commit=true --data-binary @books.json -H 'Content-type:application/json'
放入/例如JSON文件/ exampledocs folder.This是Solr的默认目录路径。 如果您使用的是Java或PHP等则有几类,并且使用的方法,然后你不会需要提到整个命令above.Is那你问什么?
您还可以通过包括更新您的文档?像这样一个curl命令的URL中提交=真实的陈述。
curl -X POST -H "Content-Type: application/json" -u "{usernamne}":"{password}" "https://your_host/solr/your_collection/update/json?commit=true" --data-binary @/path/to/your/data/your_data.json
您可以使用REST API将数据发送到Solr。 请使用此路径:
localhost:8983/solr/simple2/update?commit=true
//(simple2 is the core name and localhost:8983 is server path.)
你必须定义
:content_type => 'application/json'
与其要求header.Along您可以发送JSON文件/数据使用POST请求到Solr。
欲了解更多信息,您可以访问http://geekdirt.com/blog/indexing-in-solr-using-json-and-rest-apis/
如果你想导入部分或从JSON格式整个集合,那么,还存在另一种。
我写了一个java工具: https://github.com/freedev/solr-import-export-json
这是一个进口和出口使用Solr的集合Java应用程序SolrJ
。 每个文件必须是一个JSON对象,并在文件中要导入,而每一行是一个JSON对象,你必须有行的列表。
{ "id": 1, "date": "20160101T00:00:00", "text": "some text" }
{ "id": 2, "date": "20160102T00:00:00", "text": "some text" }
{ "id": 3, "date": "20160103T00:00:00", "text": "some text" }
我还没有尝试过使用嵌套的文档和JSON文档的按键应该是Solr的字段的确切名称。