在elasticsearch

时间:2015-08-03 22:40:25

标签: php elasticsearch

最近,我将MySQL数据库迁移到ElasticSearch。 并且基本上有大量的简历。

现在,我正在使用官方PHPClient API与ElasticSearch进行交互。

FYI, 下面是我的集群索引字段

[name, email, state, resume_text, visa]

我几乎没有问题。我尝试搜索在线资源来调整我的搜索。 但无法满足我的要求。

以下是问题,我对此表示支持。

问题1:

试图搜索

  

"内容管理系统"

使用字段resume_text 可以得到想要的结果,搜索结果最差,有时甚至找不到

  

"内容"

  

"管理"

  

"系统

" 很少有简历。

所以,少于两个单词,它返回错误的结果集。

下面是语法,我从文档和其他资源中获取

$searchParams['body']['query']['bool']['must'][] = array('match' => array('resume_text' => $skill_name));

我甚至试过了一段时间,但效果并不好。 我不知道,我做错了什么。

问题2:

我需要获取有关位置的简历,即"state"。 我尝试用较少的状态搜索,但它没有给出正确的结果。我也得到其他州的简历。

只有一个州完美无缺。 阿拉巴马州和阿拉斯加州,它应该只给我这两个结果

$searchParams['body']['query']['bool']['should'][]['term'] = array('cur_state' => $state_name);

问题3:[不是问题,有疑问]

我们可以将字段中的结果搜索到变量吗? 例如。

$visa_variable = "Citizen, Green Card, H1B";

现在,我们如何搜索与变量中的3个单词相关而不会在php中进行拆分或爆炸 独立搜索。

嗯。而已。感谢

0 个答案:

没有答案