我正在为我的用户节点创建一个名为'users'的索引,其中密钥为'email'(用户将电子邮件作为值)。
到目前为止一切都很好 - 我可以通过电子邮件轻松获取用户。
我的用户节点还将用户名(user_name)作为属性保存,我正在尝试以方式查询数据库,以便判断是否采用了'email'或'user_name'。
当然,它们可以在不同的节点中使用。
我正在寻找一个密码查询或“通过多个参数索引”的方法,以便我可以判断是否已经使用了email或user_name。
谢谢!
顺便说一句,我在谈论neo4j,使用node-neo4j从node.js调用它。
答案 0 :(得分:1)
您可以将自动索引配置为对email
和user_name
进行索引,然后运行如下查询:
start n=node:node_auto_index("email:john@doe.com user_name:"John Doe"')
return n
答案 1 :(得分:-1)
如果我们谈论Lucene,您可以添加索引文档,其中包含两个字段 - 用户名和电子邮件。你的代码可能是这样的(在Java中非常原始的例子,我认为Node.js,当与Lucene一起工作时应该有类似的语法)
Document doc = new Document();
doc.add(new Field("userName", userName), Field.Store.YES, Field.Index.ANALYZED);
doc.add(new Field("email", email, Field.Store.YES, Field.Index.ANALYZED));
然后,轻松搜索这两个字段。
作为参考 - 通过互联网查看Lucene In Action(http://www.manning.com/hatcher3/)或类似的书籍。