使用Neo4jClient的FullText搜索/ IndexLookup

时间:2013-08-18 22:56:24

标签: neo4jclient

我正在尝试执行以下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。

1 个答案:

答案 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