【问题标题】:How do I leverage ElasticSearch/Solr search API on Titan graph server?如何在 Titan 图服务器上利用 ElasticSearch/Solr 搜索 API?
【发布时间】:2014-05-31 19:03:35
【问题描述】:

这个问题让我很困惑......

我们正在使用 Titan 图服务器(它是一个很棒的图数据库),需要利用 ElasticSearch/Solr 搜索 API 在图服务器之上执行高级搜索功能。

我知道 Titan 使用 ElasticSearch 作为其索引后端,但 the indexes are created in a different way than ElasticSearch。执行搜索查询,我只能使用 Titan 公开的 API,而不是直接调用 ElasticSearch API,因此无法使用点击突出显示、分页等功能。

我一直在考虑几种解决方法,但不幸的是,它们似乎都不理想:

  • 使用 ElasticSearch update API 修改 Titan 创建的索引 - 但我们似乎需要更多的“手动”开发
  • 使用 Solr 作为索引后端 - 但 Titan 目前不支持 Solr 索引后端
  • 将 Titan 图形数据导入 Solr 以进行索引 - 但我无法找到可以完成这项工作的现有 Solr 方法。此外,a JDBC Driver for graph DB 之类的东西也适用于我,但我认为 Titan 可能并非如此。

这里有人有更好的想法我应该如何进行?最近一直在研究它,但卡在这里。任何建议都非常感谢!

【问题讨论】:

  • 你到底想做什么?将 ES 索引复制到 Solr 中?目前不支持 Solr,但我们正在努力。你也可以通过一些 id-conversion 直接对抗 ES(详见邮件列表)。
  • @MatthiasBroecheler 哎呀,很抱歉造成混乱。
  • @MatthiasBroecheler 让我们先忘记 Solr 的事情。我确实看到了关于 id-conversion 直接使用 ES API 的帖子。但是 Titan 只公开了一个顶点/边的属性,那么我该如何处理缺失的属性呢?例如。这是为GraphOfTheGods 创建的一个顶点索引 Titan 的结构:{"_index": "titan", "_type": "vertex", "_id": "k", "_score": 1, "_source": {"1k": 4500}}。显然1k 实际上是“年龄”,但是属性“类型”和“名称”没有显示在索引文档中。我怎样才能仍然反对 ES 并搜索那些丢失的属性?
  • @MatthiasBroecheler 我在这里找到了我的问题的答案:groups.google.com/d/msg/aureliusgraphs/TDr0wr71JFo/MKYbChi6m9MJ,非常感谢。
  • 我想将 titandb 与我的自定义索引逻辑和分析器一起使用。但我不知道该怎么做,没有得到任何这样的用例/示例。搜索时在这里看到了您的帖子。如果您知道如何在titanb中搜索数据时放置自定义索引逻辑和分析器以改善搜索结果,请告诉我。描述上述想法的高级知识/用例/任何链接都会有所帮助。

标签: solr lucene elasticsearch titan


【解决方案1】:

为了对这个问题进行一般更新,现在 Titan 内部支持 solr - http://s3.thinkaurelius.com/docs/titan/0.5.4/solr.html

【讨论】:

    猜你喜欢
    • 2012-12-06
    • 2015-10-24
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    相关资源
    最近更新 更多