我目前正在使用搜索引擎处理使用 PHP API 查询 Elasticsearch 5.6 索引的网站。 我在特定查询中被困了很长时间,这就是我寻求社区帮助的原因。 让我提供一些更多细节:
我被要求创建一个查询,因此每当用户在该字段中输入值时,我必须得到以下结果:
我查询的字段分别命名为 nom.unsplit , nom.ngram , nomNaissance.unsplit , nomNaissance.ngram
我一直在尝试这个查询,它为birthname上的搜索提供了完美的结果,但未能找到姓氏(显然)。如果我将其他2个字段添加到查询中,结果仍然不能令人满意,因为如果姓氏匹配,则elasticsearch会提供更好的相关性得分,而不是birthname匹配。
我还尝试过使用过滤器和boost的constant_score查询。它正在工作,但前提是我正在寻找100%的结果。 我尝试过将bool查询和常量分数查询结合起来,但我无法让它工作。 我想补充一点,搜索引擎包含更多字段,因此我需要能够在更大的bool查询中插入此特定查询,该查询收集我已经使用过的所有子查询。 我会接受任何建议,如果需要,我会提供补充信息。