为什么fuzzy_like_this返回所有类型的结果?

时间:2015-09-27 11:28:13

标签: elasticsearch

我很惊讶fuzzy_like_this似乎没有确定索引和我正在搜索的类型。相反,我从索引中的所有类型获得结果。我正在使用fuzzy_like_this针对某个类型进行搜索,特别是/places/places_city/_search。不幸的是,它似乎返回了索引中所有类型的结果,这似乎是一个错误。

我一直在尝试使用places_city为我的字段加前缀,但这不起作用。

我的代码如下:

{
              "constant_score": { // here i am using this because to remove tf/idf factors from my scoring
              boost: .001,
                "query": {
                  "fuzzy_like_this" : {
                    "fields" : ["places_city.city"],
    //              "fields" : ['places_city.city'],
                    "like_text" : "bangaloremn",
                    "prefix_length": 3,
                    "fuzziness": 2
                  }
                }
              }
            }

这里我将places_city作为类型名称和城市作为其字段我在普通查询中使用此typename.field约定,它对以下查询工作得非常好,但我不知道为什么它不像模糊的那样工作。

"must": [
                  {
                    "constant_score": { // here i am using this because to remove tf/idf factors from my scoring
                      boost: 1.04,
                      "query": {
                        query_string: {
                          query: location_search,
                          fields: ['places_city.city'],
          //               boost: 1.04
                        }
                      }
                    }
                  }
                ],

这里ES引用places_city作为类型名称,城市作为其字段,但它没有在上面的代码中执行此操作。

0 个答案:

没有答案