elasticsearch,Php,elasticsearch" /> elasticsearch,Php,elasticsearch" />

Php 在elasticsearch中搜索两个以上的单词不起作用

Php 在elasticsearch中搜索两个以上的单词不起作用,php,elasticsearch,Php,elasticsearch,最近,我将MySQL数据库迁移到ElasticSearch。 而且它基本上有一百万份简历 现在,我正在使用官方的PHPClient API与ElasticSearch进行交互 仅供参考, 下面是我的集群索引字段 [name, email, state, resume_text, visa] 我有几个问题。我尝试搜索在线资源来调整我的搜索。 但不能满足我的要求 下面是问题,我正对着墙去呢 问题1: 试图搜索 “内容管理系统” 带字段恢复_文本 能得到想要的结果,搜索结果最差,有时甚至找不到 “内

最近,我将MySQL数据库迁移到ElasticSearch。 而且它基本上有一百万份简历

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

仅供参考, 下面是我的集群索引字段

[name, email, state, resume_text, visa]
我有几个问题。我尝试搜索在线资源来调整我的搜索。 但不能满足我的要求

下面是问题,我正对着墙去呢

问题1: 试图搜索

“内容管理系统”

带字段恢复_文本 能得到想要的结果,搜索结果最差,有时甚至找不到

“内容”

,

“管理”

“系统

" 简历很少

因此,如果少于两个单词,它将返回错误的结果集

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

$searchParams['body']['query']['bool']['must'][] = array('match' => array('resume_text' => $skill_name));
我甚至试了一个学期,但效果不好。 我不知道,我做错了什么

问题2: 我需要获得有关工作地点的简历,即“状态”。 我尝试用一个较少的状态进行搜索,它不会给出正确的结果。我也收到其他州的简历

只有一种状态是完美的。 阿拉巴马州和阿拉斯加,我应该只得到这两个结果

$searchParams['body']['query']['bool']['should'][]['term'] = array('cur_state' => $state_name);
问题3:[不是问题,是疑问] 我们可以将结果从字段搜索到变量吗。 比如说

$visa_variable = "Citizen, Green Card, H1B";
现在,我们如何在php中搜索与变量中的3个单词相关的内容而不进行拆分或分解呢 独立搜索


嗯,就是这样。谢谢

现场简历文本是否已分析?@isaac.hazan它已由defaulti分析为
text
,现场简历文本是否已分析?@isaac.hazan它已由default分析为
text