【问题标题】:Ranking MongoDB search排名 MongoDB 搜索
【发布时间】:2012-07-02 00:14:33
【问题描述】:

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

我正在运行 PHP 5.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(含义匹配用户正在搜索的内容 按日期从新到旧排序

如果可以,请告诉我。

【问题讨论】:

标签: php mongodb search


【解决方案1】:

Mongo 是文档存储而不是搜索引擎。我建议您查看 SOLR 来索引您的文档以进行搜索/相关性并将文档本身存储在 mongo 中。对于博客,您可能可以放弃 mongo 并将所有内容存储在 SOLR 中,但对于大型文档集,这将是一个坏主意。

【讨论】:

  • 是的,我使用了一个博客 JSON,只是为了让你明白,这不是一个真正的博客,只是相同的布局。我真的不想使用 SOLR 或其他任何需要我忘记 mongo 并使用一些不同的东西
  • 如果收集行大约 10,000 行,这将是一个大集合
  • 10k 很小。 SOLR 做你想做的事。明哥没有。 SOLR 很简单,不要害怕。
  • 嗯,一个城市有 10k,现在想想 * 世界上有多少个城市,你很容易进入 20M 到 40M @kevin
  • 好的,如果你的数据大小是 40m,那么你应该在 SOLR 中建立索引并将内容保存在 mongo 中。
猜你喜欢
  • 2021-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
  • 2012-05-12
相关资源
最近更新 更多