0

想象一下,我们有一个文档 {position, primary_language, secondary_language}

让它包含下一个数据:

Junior Software Developer,  python,  ruby
Senior Software Developer,  ruby,    python
Python Software Developer,  python,  php
Ruby Junior Developer,      ruby,    php
Programmer,                 ruby,    python
Python Programmer,          python,  php
.....
...and more and more lines

我针对位置、primary_language、secondary_language 对“python”进行 multi_match 搜索,结果大小 = 5

我想要的是:

  • 我想要至少 1 行,其中 'python' 包含在位置字段中
  • 我想要至少 1 行,其中 'python' 包含在 primary_language 字段中
  • 我想要至少 1 行,其中 'python' 包含在 secondary_language 字段中

如果我使用“boost”,我可以在主要或次要中使用 python 获得 5 个结果,但不是在位置上,而且在提升位置时,我可以在位置标题中返回 5 个结果,但在主要和次要中没有任何结果。

我通常正在构建与 sql 不同的东西。

谢谢

更新:

发现 dismax 过滤器对我有用,认为它的本机行为完全不同 - 检查这篇论文http://searchhub.org/2010/05/23/whats-a-dismax/

4

0 回答 0