apoc.index.search返回OR结果而不是执行AND

问题描述 投票:0回答:1

我使用以下apoc查询在一个字段上设置了全文索引

CALL apoc.index.addAllNodes("CompName", {Basic_company_data:["CompanyName"]})

它似乎正确地创建了索引。如果我然后运行此查询

call apoc.index.search("CompName", "swaythling~") YIELD node as n return n

我得到五个结果,这是预期的。

如果我然后运行相同的查询,但使用+ housing

call apoc.index.search("CompName", "swaythling~ + housing~") YIELD node as n return n

我得到100个节点返回,而不是我期望的那个节点。这似乎是公司名称中包含swaythling OR housing的节点总数,当我试图获得swaythling和Housing的结果时。

通过做两个apoc调用我可以得到正确的结果,但我失败了,这是我应该能够做到的。

我在设置索引时做错了什么,或者我错过了索引搜索本身的内容?

neo4j neo4j-apoc
1个回答
1
投票

基础指数是lucene,我认为+表示下一个令牌必须存在,我不认为这意味着AND。你尝试过使用&&吗?`

© www.soinside.com 2019 - 2024. All rights reserved.