如何在 DSE graph 中实现 DSE search/Solr 支持的搜索能力。DSE 图支持为字段创建类型为“搜索”的索引,但这是有限的,并且不提供所有搜索引擎功能。我们是否需要有单独的 DSE 搜索实例(需要定义 Cassandra 表)并将数据从 DSE 图移动到 DSE 搜索以启用 DSE 搜索提供的搜索功能?
谢谢
如何在 DSE graph 中实现 DSE search/Solr 支持的搜索能力。DSE 图支持为字段创建类型为“搜索”的索引,但这是有限的,并且不提供所有搜索引擎功能。我们是否需要有单独的 DSE 搜索实例(需要定义 Cassandra 表)并将数据从 DSE 图移动到 DSE 搜索以启用 DSE 搜索提供的搜索功能?
谢谢
您应该在 DSE 搜索节点上运行 DSE Graph。当您在图中创建搜索索引时 - 也会创建相应的 solr 核心。所以:
schema.propertyKey('name').Text().create()
schema.propertyKey('favorite_number').Int().create()
schema.propertyKey('favorite_words').Text().create()
schema.propertyKey('a_third_thing').Int().create()
schema.vertexLabel('person').properties('name','favorite_number','favorite_words','a_third_thing').create()
//This last line is the index creation
schema.vertexLabel('person').index('search').search().by('name').asString().by('favorite_number').by('favorite_words').asText().add()
将创建一个包含名称、喜爱号码和喜爱单词(但不是 a_third_thing)字段的核心。
https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/using/useSearchIndexes.html
根据我的理解,您不必将数据移动到另一个表中,但是您可以做的是使用 DSETOOL create_core 命令在表上创建一个单独的 SOLR CORE,然后可以使用 SOLRJ API 进行交互并直接触发 solr 查询您的数据。因此,您可以利用 SOLR 进行搜索。一个可能对您有所帮助的示例: - https://blog.knoldus.com/2016/12/13/solr-relevance-search-using-solrj-in-scala/