java - 在 lucene 索引中存储和检索 Json 对象

标签 java elasticsearch lucene

我已经将一组 json 对象存储到 lucene 索引中,还想从索引中检索它。我正在使用 lucene-3.4。

那么有没有任何库或简单的机制可以在 lucene 中实现这一点。

例如:Json 对象

{
    BOOKNAME1: {
        id:1,
        name:"bname1",
        price:"p1"
    },
    BOOKNAME2: {
        id:2,
        name:"bname2",
        price:"p2"
    },
    BOOKNAME3: {
        id:3,
        name:"bname3",
        price:"p3"
    }
}

我们将不胜感激任何形式的帮助。 提前致谢,

最佳答案

我建议您通过以下方式为您的 json 对象编制索引:

1) 解析你的 json 文件。我通常使用 json simple .

2) 使用IndexWriterConfig 打开索引

3) 将文档添加到索引中。

4) 提交更改并关闭索引

5) 运行你的查询

如果您想使用 Lucene Core 而不是 elasticsearch,我已经创建了一个示例项目,它获取一个包含 JSON 对象的文件作为输入并创建一个 Index。另外,我添加了一个测试来查询索引。

我使用的是最新的Lucene版本(4.8),请看这里:

http://ignaciosuay.com/getting-started-with-lucene-and-json-indexing/

如果有时间,我觉得《Lucene in Action》值得一读。

希望对您有所帮助。

关于java - 在 lucene 索引中存储和检索 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15501285/

相关文章:

java - 在 Lucene 中,如何确定 IndexSearcher 或 IndexWriter 是否正在另一个线程中使用?

java - 类内的 main() 与接口(interface)内的 main()

ruby-on-rails - 将 SOLR/Lucene 搜索与 Rails 应用程序集成 - 哪些 gem ?提示?

java - 如何将身份验证成功处理程序分配给多个 Spring Security 领域

elasticsearch - 在 CentOS 6.5 上将 Kibana 4.1.1 作为服务运行

php - 在Elasticsearch中将没有空格的单词与带有空格的文本进行匹配

java - 用于电子邮件搜索的 ElasticSearch AnalyzeRequest 对象

java - 如何从多个字段组合中获取 Term-Doc 频率?

java - 邮件 api 中的 ssl 错误

java - java中带有接口(interface)的instanceof运算符