代码之家  ›  专栏  ›  技术社区  ›  cmantas

弹性词搜索包字段匹配

  •  0
  • cmantas  · 技术社区  · 6 年前

    给定一个查询和一个文档字段,将该查询的所有术语与该字段的所有术语匹配。

    1. 查询项是字段的

    要求1)通过使用 and 匹配查询中的运算符。但我一直找不到办法。

    highlight 并要求突出显示所有字符串(在我的应用程序逻辑中)

    例子:

    PUT bananas/banana/1
    { "name" : "banana"}
    
    PUT bananas/banana/2
    { "name" : "ripe banana"}
    
    
    PUT bananas/banana/3
    { "name" : "not so ripe banana"}
    
    GET bananas/_search
    {
      "query" : {
        "match": { "_all": { "query": "ripe banana", "operator": "and" } }
      },
      "highlight" : {
        "fields" : { "*" : { } },
        "require_field_match": false
      }
    }
    
    # Result (hits only):
    
      "hits" : {
        "hits" : [
          {
            "_index" : "bananas",
            "_type" : "banana",
            "_id" : "3",
            "_score" : 0.5753642,
            "_source" : {
              "name" : "not so ripe banana"
            },
            "highlight" : {
              "name" : [
                "not so <em>ripe</em> <em>banana</em>"
              ]
            }
          },
          {
            "_index" : "bananas",
            "_type" : "banana",
            "_id" : "2",
            "_score" : 0.51623213,
            "_source" : {
              "name" : "ripe banana"
            },
            "highlight" : {
              "name" : [
                "<em>ripe</em> <em>banana</em>"
              ]
            }
          }
        ]
      }
    

    因此,在这种情况下,我想排除“不太成熟的香蕉”的结果(它甚至出于某种原因首先返回!)。 我的解决方法是检查 查看是否有未突出显示的内容的部分响应

    0 回复  |  直到 6 年前