【问题标题】:Using Nest Phrase Suggester on MultiSearch query在 MultiSearch 查询中使用 Nest Phrase Suggester
【发布时间】:2014-09-08 20:12:09
【问题描述】:

我有一个针对多种类型的 MultiSearch 查询,每种类型有多个字段。我看到我可以将 .SuggestPhrase() 添加到单个字段上的单个 SearchDescriptor 中,但不能添加到整个搜索查询中。如何将短语建议应用于多搜索查询?理想情况下,它将应用于正在搜索的所有字段。

我的用例是这样的:用户执行 MultiSearch 查询。他们没有找到他们想要的东西。在这一点上,我想提出一个不同的查询,这可能是他们正在寻找的。这类似于 Google 的“您的意思是...”建议。

【问题讨论】:

    标签: elasticsearch nest search-suggestion


    【解决方案1】:

    这是一个建议示例。

    {
      "suggest": {
        "did-you-mean": {
          "text": "pizaz",
          "phrase": {
            "field": "your-field-that-has-the-phrases-to-suggest-to",
            "direct_generator": [
              {
                "field": "your-field-that-has-the-phrases-to-suggest-to",
                "suggest_mode": "always",
                "post_filter": "standard"
              }
            ]
          }
        },
        "did-you-mean-field2": {
          "text": "piza",
          "phrase": {
            "field": "your-field-that-has-the-phrases-to-suggest-to-field2",
            "direct_generator": [
              {
                "field": "your-field-that-has-the-phrases-to-suggest-to-field2",
                "suggest_mode": "always",
                "post_filter": "standard"
              }
            ]
          }
        }
      }
    }
    

    【讨论】:

    • 这能回答问题吗?它似乎与多重搜索无关,而且似乎我必须单独指定每个字段。就我而言,我将有大约 40 个不同的字段。我正在寻找一种可扩展性更好的方法。
    • 您可以只使用“_all”而不是特定字段。据我所知,您不能指定字段列表,例如 "field": ["field1", "field2"] 所以这是对特定字段进行细分的唯一方法
    • @leavesof3 只是想知道是否仍然是我们无法指定我们想要的字段而不是执行“_all”的情况?
    猜你喜欢
    • 2015-12-07
    • 2020-07-26
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多