【发布时间】: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