elasticsearch 带Elasticsearch索引的JanusGraph不工作
我在JanusGraph中添加了混合索引,以支持Elasticsearch的全文搜索 我有混合索引,如:
elasticsearch 带Elasticsearch索引的JanusGraph不工作,
elasticsearch,gremlin,janusgraph,
elasticsearch,Gremlin,Janusgraph,我在JanusGraph中添加了混合索引,以支持Elasticsearch的全文搜索 我有混合索引,如: myindex=mgmt.buildIndex(“myesindex”,Vertex.class) .addKey(“名称”,Mapping.TEXTSTRING.asParameter()) .addKey(“sabindex”,Mapping.TEXTSTRING.asParameter()) .buildMixedIndex(“搜索”); 我能够将数据加载到Elasticsearch
myindex=mgmt.buildIndex(“myesindex”,Vertex.class)
.addKey(“名称”,Mapping.TEXTSTRING.asParameter())
.addKey(“sabindex”,Mapping.TEXTSTRING.asParameter())
.buildMixedIndex(“搜索”);
我能够将数据加载到Elasticsearch引擎中。
而且我能够成功地执行查询
我面临的问题是当我点击查询时:
g.V().has('code','abc').valueMap()
==>{str=[some text], code=[abc], sab=[sab], sabindex=[sabindex], name=[[some tex]]}
我正在成功获取结果,但当我尝试使用名称和代码进行搜索时:
g.V().has('name', textContains('some text')).has('code','abc').valueMap()
代码字段也被索引(复合)
那时我没有得到任何结果。尽管数据以图表和弹性搜索的形式呈现
另一个场景是使用不同名称和代码的相同查询成功运行。我还多次重建了图形,但没有得到积极的结果。第一次查询显示的值是
name=[[some tex]]
。它在text
中缺少最后一个t
,因此解释了为什么查询在某些文本上不匹配
如果改为执行textContains('some tex')
,则会得到与第一个查询相同的结果。使用profile()
步骤将显示使用了myindex
请参阅重新创建场景的这一部分。感谢您的回复。我尝试使用textContains方法,它工作得很好,但查询的性能比eqDid慢。是否验证索引是否正在使用?如果您需要更具体的调试帮助,janusgraph用户组可能是您提问的更好论坛。是的,我检查了弹性引擎的日志。查询正在那里进行。