2

現状の私のクエリは次のとおりです。

"query":{
    "fuzzy":{
        "author":{
            "value":query,
            "fuzziness":2
        },
        "career_title":{
            "value":query,
            "fuzziness":2
        }
    }
}

これは Node.js のコールバックの一部です。 Query(比較対象の値としてプラグインされている) は、関数の早い段階で設定されます。

私ができるようにするために必要なのは、ドキュメントのauthorと の両方career_titleをあいまいにチェックし、どちらかのフィールドに一致するドキュメントを返すことです。上記のステートメントは何も返さず、作成する必要があるオブジェクトにアクセスしようとすると、未定義であると表示されます。各フィールドをチェックするクエリを 2 つ作成し、結果をスコアで並べ替えることができることは理解していますが、1 つのフィールドですべてのオブジェクトを 2 回検索するのは、2 つのフィールドですべてのオブジェクトを 1 回検索するよりも遅くなるように感じます。

4

1 に答える 1

5

https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzzy-match-query.html

ここに表示されている場合、複数一致クエリであいまいさを指定できます...

{
  "query": {
    "multi_match": {
      "fields":  [ "text", "title" ],
      "query":     "SURPRIZE ME!",
      "fuzziness": "AUTO"
    }
  }
}

ややこのような..これが役立つことを願っています.

于 2016-04-01T04:59:14.883 に答える