我正在创建一个数据库来存储具有多种语言内容的节点。
我有一个类似的模型:
(Book {title, summary, text})<-[WRITES {date}]-(Author {name, lang})
我希望能够对Book的书名和几种语言的文本进行全文搜索。
我试图以非常愚蠢的方式使用不同的分析器简单地创建多个索引:
CALL db.index.fulltext.createNodeIndex("searchEN",["Book"],["title", "summary", "text"], {analyzer: "english")
CALL db.index.fulltext.createNodeIndex("searchFR",["Book"],["title", "summary", "text"], {analyzer: "french")
但是当我尝试为法语创建索引时,出现此错误:
neobolt.exceptions.ClientError: There already exists an index NODE:label[0](property[1], property[9], property[11]).
我想将英语搜索限制在英语作者写的书中,而不必创建像EnglishBook
这样的新节点类型。我想避免这种情况,因为架构的其他节点类型可以与其他语言的书籍共享连接。
例如,我仍然希望能够做到:
MATCH (p: Publisher)-[r: PUBLISHES]->(b: Book)
RETURN p, r, b