我正在尝试执行以下Cypher语句
"START b=node:customer_full_text_idx('ID:"ASHLAND"') return b
我正在使用这种方法
var results = _graphClient.QueryIndex<Customer>(Base.INDEX_CUSTOMER_FULL_TEXT, IndexFor.Node, "ID:" + "ASHLAND");
此方法有时会抛出Lucene异常。 https://bitbucket.org/Readify/neo4jclient/issue/54/spaces-in-search-text-while-searching-for记录了此问题。不推荐使用QueryIndex,我尝试了推荐的语法
我尝试过使用推荐的Cypher
var results = _graphClient
.Cypher
.Start(new { n = Node.ByIndexLookup(Base.INDEX_CUSTOMER_FULL_TEXT, "ID", "ASHLAND") })
.Return<Customer>("n")
.Results;
但上述声明不会返回任何结果。我认为问题是上面的语法不是为FullText设计的,而是在Cypher的开头插入'='。而它期望ID和Name之间有“:”。或者可能是我遗漏了一些明显的东西。
请使用.Start查询使用Neo4jClient分享任何示例。 TIA。
答案 0 :(得分:2)
使用Node.ByIndexQuery
代替Node.ByIndexLookup
。
(您以前使用过查询,然后用新语法换成查找。)
这是一次查询:http://docs.neo4j.org/chunked/snapshot/query-start.html#start-node-by-index-lookup
这是一个查询:http://docs.neo4j.org/chunked/snapshot/query-start.html#start-node-by-index-query