【问题标题】:Elasticsearch - match by all terms but full field must be matchedElasticsearch - 匹配所有术语但必须匹配完整字段
【发布时间】:2022-12-10 05:50:35
【问题描述】:

我正在尝试改进对我的服务的搜索,但遇到了复杂的查询。 我需要按术语匹配一些文档,但只返回包含的文档全部以任何顺序提供的条款,并且仅包含此条款。 因此,例如,让我们看电影片名: “侏罗纪公园” 《失落的世界:侏罗纪公园》 《侏罗纪公园 III》

当我键入“Park Jurassic”时,我只想返回第一个文档,因为它只包含两个词,仅此而已。

这是复杂问题的愚蠢例子,但我已经简化了它。

我尝试使用术语查询、匹配等,但我不知道如何检查整个字段是否匹配。

所以简而言之,它必须以任何顺序匹配所有标记。 字段被映射为文本和关键字。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    你测试了terms set query

    返回包含最少数量的确切术语的文档 提供的领域。

    terms_set 查询与 terms 查询相同,除了您可以 定义返回文档所需的匹配项数。

    【讨论】:

    • 是的,我试过了,但是我如何确定文档字段中有多少个术语(没有附加字段或重新索引)?我需要确保文档上的条款与查询中提供的条款相同,并且不会留下任何不匹配的内容
    猜你喜欢
    • 2020-04-27
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多