2014-04-03 58 views
1

我的数据由几乎扁平的JSON对象组成。大多数字段具有单个值,但有些字段具有单个值的数组。它永远不会比这更深。我有大约100个顶级域,我希望能够搜索它们的任何组合。用户将在运行时创建一些特定的搜索参数组合。这些可以是一个有点复杂,如RavenDB中的任意搜索和索引

甲& &(B || C)& &〜d

所以处理括号,拖延,和ORS,以及A,B,C,和d可以是等于,包含,nots和数字比较。我不认为我可以像Linq那样实现这种动态搜索。看来Lucene可以接受这样的搜索,但Lucene只能在索引上搜索。由于我有大约100个字段,建议创建索引的建议方式是什么?我应该创建一个有100个字段的索引吗?还是100个个人指数?这些对我来说都非常昂贵和低效。有没有更好的办法?

谢谢。

回答

0

让RavenDB处理它,它会为你创建和维护合适的索引

+0

所以,如果我做lucene查询,它会自动为我创建索引吗?这些是一次性索引吗?或者他们会坚持更新新的数据? 当我通过Web UI尝试查询时,它给了我一个错误,除非索引已经存在。有我需要设置的标志吗? – Nikhil