Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
Php 排名MongoDB搜索_Php_Mongodb_Search - Fatal编程技术网

Php 排名MongoDB搜索

Php 排名MongoDB搜索,php,mongodb,search,Php,Mongodb,Search,好的,这听起来很简单,但我不知道该怎么办 我正在运行PHP5.3.x,这就是我想要做的。我知道find()命令。但我不确定如何对返回的JSON进行排序 下面是我们如何存储我们的博客 { "title":"this is a title"; "body":"this is the body"; "author":"ROB" "keywords":[{'auto';'music';'fun'}] "country":"USA" "dateadded":"07-11-2011"; } 我想做的是按照

好的,这听起来很简单,但我不知道该怎么办

我正在运行PHP5.3.x,这就是我想要做的。我知道find()命令。但我不确定如何对返回的JSON进行排序

下面是我们如何存储我们的博客

{
"title":"this is a title";
"body":"this is the body";
"author":"ROB"
"keywords":[{'auto';'music';'fun'}]
"country":"USA"
"dateadded":"07-11-2011";
}
我想做的是按照以下顺序 关键词匹配100%-0% 作者如果作者经常谈论这个关键词,那么帖子会更高 标题搜索得分1(意思与用户正在搜索的内容匹配 按从最新到最旧的日期订购


请告诉我这是否可行。

Mongo是一个文档存储而不是一个搜索引擎。我建议您使用SOLR为您的文档编制索引以进行搜索/关联,并将文档本身存储在Mongo中。对于博客,您可能放弃Mongo,只需将所有内容存储在SOLR中,但对于大型文档集,这将是一个坏主意。

是的h、 我使用了一个博客JSON,只是为了让你明白,这不是一个真正的博客,只是相同的布局。我真的不想使用SOLR或其他任何需要我忘记mongo并使用不同的东西。如果大约10000行的集合很小,这将是一个大集合。SOLR做你想要的。Mingo不做。SOLR很容易,不要害怕。这就是10k在一个城市现在想想*世界上有多少个城市,你很容易进入2000到40M@kevinOk如果你的数据大小是40M,那么你应该在SOLR中索引并在mongo中保留内容。上有相关的问题,这可能会有所帮助。上还有一个MongoDB wiki页面。