Scout 使用 import 成功,但 ES 却查询不到

情况是这样的:
手上这套源码是之前公司找第三方开发公司做的,生产环境他们已经搭好了,但是不给操作说明这些文档。于是我从生产环境上把源码down了下来,程序中有涉及到elasticsearch,我怎么配置都不对。

说下环境,服务器的ES是6.5.4,我本地Docker也是
下面这是laravel下env的配置,这里跟网上大部分教程差的是,没有设置ELASTICSEARCH_INDEX

SCOUT_DRIVER=elasticsearch
SCOUT_QUEUE=true
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_SCHEME=http

下面说下我的操作步骤。我Docker用的是这个:https://gitee.com/mirrors/Dnmp。 ES上面说过了,是6.5.4,laravel/scout是6.1,Laravel框架是5.5。

模型地址是:App\Models\Company,以下是源码预览:

class Company extends User
{
    use SoftDeletes, CompanySearchable;
    protected $table = 'companys';
}

CompanySearchable这个的源码是:

namespace App\Search\Traits;

trait CompanySearchable
{
    use ElasticsearchSearchable;


    protected $search_index = 'company';

}

事先通过Postman增加了索引company,如下代码:

curl -H "Content-Type: application/json" -XPUT http://127.1:9200/company -d '{"aliases":{},"mappings":{"doc":{"dynamic_date_formats":["yyyy-MM-dd HH:mm:ss"],"dynamic_templates":[{"strings":{"match_mapping_type":"string","mapping":{"type":"keyword"}}}],"properties":{"address":{"type":"text","copy_to":["search_field2"]},"audit":{"type":"long"},"certificate_img":{"type":"keyword"},"certificate_img_audit":{"type":"long"},"click":{"type":"long"},"comment":{"type":"long"},"companyname":{"type":"text","copy_to":["search_field1"]},"contact":{"type":"keyword"},"contact_show":{"type":"long"},"contents":{"type":"text","copy_to":["search_field2"]},"created_at":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"},"currency":{"type":"keyword"},"district":{"type":"long"},"district_cn":{"type":"keyword","copy_to":["search_field1"]},"economy":{"type":"long"},"economy_cn":{"type":"keyword"},"email":{"type":"keyword"},"email_audit":{"type":"long"},"email_show":{"type":"long"},"id":{"type":"long"},"industry":{"type":"long"},"industry_cn":{"type":"keyword"},"invitation_code":{"type":"keyword"},"job_audit_num":{"type":"long"},"job_new_refresh":{"type":"long"},"job_sum_num":{"type":"long"},"job_wait_num":{"type":"long"},"jobs":{"type":"long"},"laiyuan":{"type":"long"},"landline_tel":{"type":"keyword"},"landline_tel_show":{"type":"long"},"last_login_ip":{"type":"long"},"last_login_time":{"type":"long"},"legal":{"type":"keyword"},"legal_idcard":{"type":"keyword"},"location":{"type":"geo_point"},"logo":{"type":"keyword"},"members_setmeal":{"properties":{"added":{"type":"keyword"},"created_at":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"},"days":{"type":"long"},"discount_auto_refresh_jobs":{"type":"float"},"discount_download_resume":{"type":"float"},"discount_emergency":{"type":"float"},"discount_jobfair":{"type":"float"},"discount_jobs":{"type":"float"},"discount_sms":{"type":"float"},"discount_stick":{"type":"float"},"discount_tpl":{"type":"float"},"download_resume":{"type":"long"},"download_resume_max":{"type":"long"},"endtime":{"type":"keyword"},"expense":{"type":"long"},"expire":{"type":"long"},"id":{"type":"long"},"is_free":{"type":"long"},"jobfair_num":{"type":"long"},"jobs_meanwhile":{"type":"long"},"refresh_jobs_free":{"type":"long"},"setmeal_id":{"type":"long"},"setmeal_img":{"type":"keyword"},"setmeal_name":{"type":"keyword"},"show_apply_contact":{"type":"long"},"show_contact_direct":{"type":"long"},"starttime":{"type":"long"},"uid":{"type":"long"},"updated_at":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"},"utype":{"type":"long"}}},"mobile":{"type":"long"},"mobile_audit":{"type":"long"},"nature":{"type":"long"},"nature_cn":{"type":"keyword","copy_to":["search_field1"]},"old_password":{"type":"keyword"},"organization_code":{"type":"keyword"},"pwd_hash":{"type":"keyword"},"qq":{"type":"keyword"},"qx_id":{"type":"long"},"refresh_time":{"type":"long"},"reg_address":{"type":"keyword"},"reg_ip":{"type":"long"},"reg_source":{"type":"long"},"reg_source_cn":{"type":"keyword"},"reg_time":{"type":"long"},"reg_type":{"type":"long"},"registered":{"type":"long"},"remind_email_ex_time":{"type":"long"},"remind_email_time":{"type":"long"},"replys":{"type":"long"},"resume_processing":{"type":"long"},"robot":{"type":"long"},"scale":{"type":"long"},"scale_cn":{"type":"keyword"},"search_field1":{"type":"text","norms":false,"index_options":"docs","analyzer":"ik_max_word","search_analyzer":"ik_smart"},"search_field2":{"type":"text","norms":false,"index_options":"docs","analyzer":"ik_max_word","search_analyzer":"ik_smart"},"setmeal_id":{"type":"long"},"setmeal_name":{"type":"keyword"},"short_desc":{"type":"text","copy_to":["search_field2"]},"short_name":{"type":"text","copy_to":["search_field2"]},"sms_num":{"type":"long"},"subsite_id":{"type":"long"},"subsite_ids":{"type":"long"},"tag":{"type":"long"},"tag_cn":{"type":"keyword"},"telephone_show":{"type":"long"},"tpl":{"type":"keyword"},"trade":{"type":"long"},"trade_cn":{"type":"keyword","copy_to":["search_field1"]},"unit_character":{"type":"long"},"unit_character_cn":{"type":"keyword"},"updated_at":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"},"user_status":{"type":"long"},"username":{"type":"keyword"},"utype":{"type":"long"},"website":{"type":"keyword"},"wzp_tpl":{"type":"long"}}}},"settings":{"index":{"number_of_shards":"1","blocks":{"read_only_allow_delete":"true"},"number_of_replicas":"0"}}}'

上面索引是能创建成功的,返回是:

{
    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "company"
}

于是我就执行

php artisan scout:import "App\Models\Company"

系统内有数据,而且也显示成功了
Scout使用import成功,但ES却查询不到

但是进ES却看不到,搞了好几天也想不出来问题出在哪?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

在 SCOUT_QUEUE 开启的情况下会使用队列导入,检查一下队列驱动是否正常。我同样也遇到了这个问题,是 SCOUT_QUEUE 的问题,你可以尝试一下 先把 SCOUT_QUEUE 关掉再导入。

4年前 评论
wwking 4年前
sandm (楼主) 3年前
load_man 3年前
sandm (楼主) 3年前
讨论数量: 4

我之前也求助这个问题 , 也没解决掉。 而且 我执行命令 file 导入成功5条数据之后,

file 为什么当前index下的结点数为1呢

请问你现在解决掉了吗?

4年前 评论
sandm (楼主) 4年前
normaluser (作者) 4年前

在 SCOUT_QUEUE 开启的情况下会使用队列导入,检查一下队列驱动是否正常。我同样也遇到了这个问题,是 SCOUT_QUEUE 的问题,你可以尝试一下 先把 SCOUT_QUEUE 关掉再导入。

4年前 评论
wwking 4年前
sandm (楼主) 3年前
load_man 3年前
sandm (楼主) 3年前
JeffreyBool

有时候是索引模板导致的

3年前 评论
Complicated

遇到了同样的问题,楼主怎么解决的?@

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!