搜索的时候发生查询语句错误

问题咨询 · Huafengland · 于 5年前 发布 · 1715 次阅读

已经安装好了 在搜索的时候,发生以下错误: Unable to execute query: error processing query: ns=fecshop.full_search_product_en limit=1000 skip=0 Tree: $and status == 1 TEXT : query=uu, language=, tag=NULL Sort: { search_score: { $meta: "textScore" }, score: -1 } Proj: { search_score: { $meta: "textScore" }, id: true, spu: true, score: true, product_id: true } planner returned error: need exactly one text index for $text query ↵ Caused by: MongoDB\Driver\Exception\RuntimeException

已经尝试了以下的方法: composer依赖项更新,"yiisoft/yii2-mongodb": "dev-master"

共收到 6 条回复
Fecmall#15年前 0 个赞

没有跑mongo的初始化脚本吧?

Fecmall#25年前 0 个赞

https://github.com/fecshop/yii2_fecshop/tree/master/shell/search

进入这个目录,泡一下sync那个脚本

Fecmall#35年前 0 个赞

安装文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-about-config.html

查看:10.3产品搜索(您可以先不管这个部分,安装完了回头搞这个搜索)

首先,先添加一下host vim /etc/hosts, 添加下面的host映射,:wq 保存退出即可

127.0.0.1 xunsearch

对于产品搜索,中文搜索需要安装xunSearch,英文用的是mongodb 的 full text search, xunSearch安装教程 ,安装完成后,需要跑脚本同步到搜索工具中,命令行如下:

cd vendor/fancyecommerce/fecshop/shell/search
sh fullSearchSync.sh

详细的去参看安装文档

4楼 已删除.
Huafengland#55年前 0 个赞

非常感谢作者给予详细的回答。

我还没有安装xunSearch,之前安装xunSearch有点问题,就在配置文件里把中文检索无效了。

但是在我的环境里面,fullSearchSync.sh的脚本跑不了。

第17行会报

Bad for loop variable。

我把这一行改成

for i in `seq $pagenum`

运行以后现在已经可以英文搜索了。

我用的是Ubuntu 16.04.5 LTS。

Fecmall#65年前 0 个赞

@Huafengland #5楼 你用的是 ubuntu吧? 默认写的语法是 centos的, 有点小差异

Huafengland#75年前 1 个赞

@Fecshop [#6楼](#comment6) 这么看我之前安装xunSearch的setup.sh脚本运行错误估计也可能是环境问题。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics