首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel + MongoDB + Elasticsearch,Elasticquent的配置问题

Laravel + MongoDB + Elasticsearch,Elasticquent的配置问题
EN

Stack Overflow用户
提问于 2016-02-25 00:12:25
回答 1查看 915关注 0票数 1

我正在使用Laravel、ElasticSearch和MongoDB构建一个web应用程序。为此,我使用https://github.com/jenssegers/laravel-mongodb连接Laravel和MongoDB (它工作得很好),使用https://github.com/elasticquent/Elasticquent连接到Elasticsearch (我对它有问题)。

我的模型是这样的:

代码语言:javascript
复制
namespace App;

use Moloquent;
use Elasticquent\ElasticquentTrait;

class Article extends Moloquent
{
    use ElasticquentTrait;
    protected $collection = 'Articles';
}

我的控制器搜索函数如下所示:

代码语言:javascript
复制
public function search()
{
    $texte = $_GET['texte'];
    $articles = Article::where('Title', 'regexp', "/$texte/")->get();
    //$articles = Article::search('bu');
    //dd($articles);
    return view('pages.articles', compact('articles'));
}

当使用来自文章模型的where函数时,我得到了这样的结果,这是3个结果

代码语言:javascript
复制
ElasticquentCollection {#134 ▼
  #items: array:3 [▼
    0 => Article {#142 ▶}
    1 => Article {#143 ▶}
    2 => Article {#144 ▶}
  ]
}

当使用搜索功能时,我得到类似这样的结果,没有结果

代码语言:javascript
复制
ElasticquentResultCollection {#156 ▼
  #took: 1
  #timed_out: false
  #shards: array:3 [▶]
  #hits: array:3 [▶]
  #aggregations: []
  #instance: Article {#161 ▶}
  #items: []
}

有没有人必须处理同样类型的架构,并且可以帮助我解决这个问题?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 00:17:23

变化

代码语言:javascript
复制
$articles = Article::search('bu');

代码语言:javascript
复制
$articles = Article::search('bu')->get();

您不是在提取集合。您必须使用get()first()来收集搜索到的项目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35607231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档