elasticsearch Amazon Neptune全文搜索查询未按预期工作,elasticsearch,gremlin,amazon-neptune,elasticsearch,Gremlin,Amazon Neptune" /> elasticsearch Amazon Neptune全文搜索查询未按预期工作,elasticsearch,gremlin,amazon-neptune,elasticsearch,Gremlin,Amazon Neptune" />

elasticsearch Amazon Neptune全文搜索查询未按预期工作

elasticsearch Amazon Neptune全文搜索查询未按预期工作,elasticsearch,gremlin,amazon-neptune,elasticsearch,Gremlin,Amazon Neptune,我试图手动使用elasticsearch实现Neptune DB的全文搜索,但出现以下错误: {"requestId":"bcb16f6b-7e60-4e71-b0d8-a6a4a9b38b00","code":"MalformedQueryException","detailedMessage":"Failed to interpret Gremlin query: null"

我试图手动使用elasticsearch实现Neptune DB的全文搜索,但出现以下错误:

{"requestId":"bcb16f6b-7e60-4e71-b0d8-a6a4a9b38b00","code":"MalformedQueryException","detailedMessage":"Failed to interpret Gremlin query: null"}
这是我的文件:

{
    "entity_id": "f8b9726f-74f9-a0e0-5fbd-b609bbb14f89",
    "entity_type": [
        "suggestions"
    ],
    "document_type": "vertex",
    "predicates": {
        "title": {
            "value": "samsung mobile"
        }
    }
}
查询:

g.withSideEffect('Neptune#fts.endpoint','elasticsearch cluster end point').withSideEffect('Neptune#fts.queryType', 'match').V().has('title','Neptune#fts samsung').local(values('title').fold()).limit(5).valueMap().toList()
只有当我在搜索中输入一个现有的单词(如Samsung)时,它才会给出错误,但如果我搜索一个不可用的单词,它工作正常,不会抛出任何错误。
不确定这里出了什么问题,有人能帮我吗?

您显示的
local
步骤将为找到的每个“title”属性创建一个包含该属性的列表。如果没有本地步骤,只要执行
values('title')。fold()
,找到的所有值都将打包到一个列表中


但是,请注意,这可能是您的查询失败的原因,您不能在该
local
步骤之后添加
valueMap
步骤,因为您将尝试将
valueMap
应用于
local
步骤中的一个或多个字符串列表,而不是顶点。

当您说手动时,你是自己填充ElasticSearch集群还是让海王星帮你填充?同样在查询中,您是否在
Neptune#fts.endpoint
副作用上指定了Neptune集群或ES集群名称?它需要是ES端点。在查询中的这个副作用下:withSideEffect('Neptune#fts.endpoint','nwptune endpoint')您是将Neptune端点还是Elasticserch集群的端点放在一起?这应该是弹性搜索cluster@KelvinLawrence,bechbd,很抱歉实际上是elasticsearch端点。它工作正常,问题在于“local(values('title').fold()”``我删除了它,现在工作正常。有人能告诉我这个本地人到底做了什么吗?我在下面添加了一个答案,以及查询不起作用的原因。