最近,我将MySQL数据库迁移到ElasticSearch。 并且基本上有大量的简历。
现在,我正在使用官方PHPClient API与ElasticSearch进行交互。
FYI, 下面是我的集群索引字段
[name, email, state, resume_text, visa]
我几乎没有问题。我尝试搜索在线资源来调整我的搜索。 但无法满足我的要求。
以下是问题,我对此表示支持。
试图搜索
"内容管理系统"
使用字段resume_text 可以得到想要的结果,搜索结果最差,有时甚至找不到
"内容"
,
"管理"
或
"系统
" 很少有简历。
所以,少于两个单词,它返回错误的结果集。
下面是语法,我从文档和其他资源中获取
$searchParams['body']['query']['bool']['must'][] = array('match' => array('resume_text' => $skill_name));
我甚至试过了一段时间,但效果并不好。 我不知道,我做错了什么。
我需要获取有关位置的简历,即"state"
。
我尝试用较少的状态搜索,但它没有给出正确的结果。我也得到其他州的简历。
只有一个州完美无缺。 阿拉巴马州和阿拉斯加州,它应该只给我这两个结果
$searchParams['body']['query']['bool']['should'][]['term'] = array('cur_state' => $state_name);
我们可以将字段中的结果搜索到变量吗? 例如。
$visa_variable = "Citizen, Green Card, H1B";
现在,我们如何搜索与变量中的3个单词相关而不会在php中进行拆分或爆炸 独立搜索。
嗯。而已。感谢