I have python code querying neo4j database with procedure call, the result is not consistent.
Test 1: the following code passes company name as parameter to procedure call, that returns multiple inaccurate matches
name="SINGAPORE POWER LIMITED"
records, summary=session.execute_read(search_entity,name)
def search_entity(tx, name):
result = tx.run("""CALL db.index.fulltext.queryNodes('index_title', '"$name"~') """, name=name)
values = []
for record in result:
values.append(record.values())
summary = result.consume()
return values, summary
Test 2: the code below sets the company name as literal in procedure call, that returns accurate match.
def search_entity(tx, name):
result = tx.run("""CALL db.index.fulltext.queryNodes('index_title', '"SINGAPORE POWER LIMITED"~') """)
values = []
for record in result:
values.append(record.values())
summary = result.consume()
return values, summary
How to change the code in Test1 to achieve the same result as in Test 2?
- neo4j version : neo4j-community-4.2.6]
- API / driver : Version: 5.24.0