Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
搜索引擎(弹性搜索+;meteor):对于包含多达数千个结果的数组,javascript数组操作是否效率低下?_Javascript_Meteor_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Full Text Search_Search Engine - Fatal编程技术网 elasticsearch,full-text-search,search-engine,Javascript,Meteor,elasticsearch,Full Text Search,Search Engine" /> elasticsearch,full-text-search,search-engine,Javascript,Meteor,elasticsearch,Full Text Search,Search Engine" />

搜索引擎(弹性搜索+;meteor):对于包含多达数千个结果的数组,javascript数组操作是否效率低下?

搜索引擎(弹性搜索+;meteor):对于包含多达数千个结果的数组,javascript数组操作是否效率低下?,javascript,meteor,elasticsearch,full-text-search,search-engine,Javascript,Meteor,elasticsearch,Full Text Search,Search Engine,我正在Meteor的一个项目中工作,该项目使用ElasticSearch作为搜索引擎。我需要在网站上的搜索功能,以允许'堆叠'搜索。因此,例如,可以搜索某个“组”中的用户上载的文件,方法是“叠加”用户名,后跟组名,并以文件名或文件中的某些内容结尾 现在,在MongoDB数据库上,组、用户和文件将存储在单独的集合中,并通过ID相互关联。然而,ElasticSearch使用分布式数据存储,其中所有内容都是“平面的”。这就需要对数据进行非规范化/do应用程序端连接/etc.() 我的问题是:哪种方法最

我正在Meteor的一个项目中工作,该项目使用ElasticSearch作为搜索引擎。我需要在网站上的搜索功能,以允许'堆叠'搜索。因此,例如,可以搜索某个“组”中的用户上载的文件,方法是“叠加”用户名,后跟组名,并以文件名或文件中的某些内容结尾

现在,在MongoDB数据库上,组、用户和文件将存储在单独的集合中,并通过ID相互关联。然而,ElasticSearch使用分布式数据存储,其中所有内容都是“平面的”。这就需要对数据进行非规范化/do应用程序端连接/etc.()

我的问题是:哪种方法最好

  • 反规范化数据、使用嵌套等

    -->因此,当将数据传输到elasticsearch数据存储时,我会制作数据的副本,并用一个添加了数据的新元素替换每个父元素。 举个例子,如果有人评论,比如说在一个小组里发表一篇文章。服务器必须添加到注释的常规列表中+查找post对象,将注释附加到其中,然后将post对象重新添加到数据库中+更新包含post对象的组对象,该组对象应包含注释+对用户对象执行相同操作(因为我希望能够对组、用户等进行堆栈搜索)。 基本上当添加或删除某个内容时,我必须更新数据库中与之相关的每个对象

  • 运行多个弹性搜索查询()以检索所需的数据

  • 只需对每个分散的集合执行搜索查询,并在服务器端使用javascript比较数组并生成搜索结果

  • **注意:这是为了将负载/使用率提升到相对中等水平。因此,需要搜索大约数十万个数据实例。尽管如此,如果这能在更大范围内(数百万)起作用,那将是非常棒的

    如果我对任何事情的理解有误,请纠正我,谢谢你通读这篇文章