【问题标题】:How to do indexing data from database using apache solr with glassfish server on linux?如何在 Linux 上使用带有 glassfish 服务器的 apache solr 从数据库中索引数据?
【发布时间】:2012-12-06 05:38:16
【问题描述】:

我想使用 Apache Lucene 和 Apache Solr 在我的 Web 应用程序中创建一个搜索框。我正在使用 postgres 数据库并且必须使用 java 来完成。

当我对这些概念(solr、lucene)不熟悉时,我正在为此苦苦挣扎。我已经用 glassfish 安装和配置了 apache Solr。现在我不知道如何开始,无论我必须在 eclipse 中创建一个 java 项目还是必须使用 Solr 管理 GUI。

谁能帮我解决这个问题?

提前致谢.....

【问题讨论】:

    标签: solr lucene glassfish


    【解决方案1】:

    为了使数据可搜索,您必须首先索引您的数据。您可以使用以下方法之一来索引数据。

    添加新数据后,您可以使用 Solr 客户端 (Solrj) 对其进行索引。您还可以使用 Solrj 或任何其他客户端库搜索您的数据。

    你可以找到其他client libraries here

    【讨论】:

    • 感谢 Parvin,我已经通过 DataImportHandler 了解了在 data-config.xml 中注册数据源的想法。但我的疑问是,我们是否应该使用 solr admin 或在 eclipse 中创建 java 项目来完成所有这些...请帮助我
    • 使用混合方式会更好。使用 DataImportHandler 进行完全导入并使用 Solrj 来索引新添加的文档。对于 DataImportHandler,您应该使用 Solr admin 和索引新添加的文档,您应该创建 java 项目。
    • 我尝试在 data-cofig.xml 中注册 requestHandler,但是当我打开 solar admin 时,它会出现异常,即 org.apache.solr.common.solrException: RequestHandler init failure 你能帮我解决这个问题吗?
    • 您是否将 apache-solr-dataimporthandler-x.y.z.jar 添加到 lib 文件夹中?
    • parvin 是的,我已经添加了 jar.. 仍然是相同的异常
    【解决方案2】:

    您可以从Solr DIH 开始将数据从 postgres 索引到 Solr。

    更详细的了解可以参考:-
    how-to-import-data-from-sql-databases-part-1
    how-to-import-data-from-sql-databases-part-2
    how-to-import-data-from-sql-databases-part-3

    【讨论】:

    • 谢谢 Jayendra 我已经浏览了你提供的链接......但是我正在运行 url 192.168.1.102:8080/apache-solr-4.0.0/… 我遇到数据配置问题:处理指令目标匹配“[xX][mM][ lL]”是不允许的。你能帮帮我吗?
    • 您的 xml 似乎无效。检查结构是否正确。
    • 日志可能会提到加载过程中出错的文件。这些文件主要是 schema.xml、data-config.xml 或 solrconfig.xml
    • Jayendra,如何将查询响应从 solrj 转换为 json?
    • 您可以使用jackson api将对象转换为json。但是 Solr 已经提供了 JSON 响应编写器,因此您可以直接向 solr 发起查询并以 json 格式获取响应,而不是使用 Solrj。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多