首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticsearch : multi_match best_fields还是most_fields?

Elasticsearch : multi_match best_fields还是most_fields?
EN

Stack Overflow用户
提问于 2017-07-05 15:02:43
回答 1查看 424关注 0票数 0

我正在尝试搜索这种类型的文档:

代码语言:javascript
复制
            {
               "id_stage": "4598",
               "n_stage": "1331400117S",
               "intitule_stage": "Comment travailler avec le délire dans la psychose ? - Niveau II -",
               "objectifs": ">Poursuivre et approfondir les enseignements théoriques du stage Niveau I sur le même thème.\r\n>Savoir mettre en pratique ces connaissances par l'analyse \"active\" du discours du patient.",
               "contenu": "*Rappel de la théorie découverte lors du Niveau I : travail à  partir de cas de schizophrénie, de paranoïa et de névrose afin d'affiner la notion de clinique différentielle.\r\n*Le psychotique et sa famille :\r\n-Notion de transmission intra-familiale.\r\n-Les relations parents/enfants dans la psychose.\r\n*Les structures maniaques et mélancoliques, spécificité du fonctionnement.\r\n*Absence de sentiment de culpabilité et confusion diagnostique entre psychose et perversion. Essai d'approche différentielle.\r\n*Les psychoses blanches (sans délire apparent).\r\n",
               "pre_requis": "",
               "mmp": "",
               "sessions": [
                  {
                     "id_session": "5332",
                     "debut": "2017-12-04",
                     "date_fin": "2017-12-08",
                     "ville": "LA ROCHELLE"
                  }
               ],
               "mots_cles": [
                  "DELIRE",
                  "PSYCHOSE"
               ]
            }

下面是我的问题:

代码语言:javascript
复制
            {
            "from": 0,
            "size": 100,
            "min_score": 4.5,
            "query": {
              "bool": {
                "must": 
                    [
                        {
                        "multi_match": {
                            "fields": 
                            [
                                "sessions^2",
                                "contenu^1",
                                "objectifs^1",
                                "intitule_stage^3",
                                "mmp^1",
                                "mots_cles^3"
                            ],

                            "query": "' . $request . '",
                            "fuzziness" : "AUTO",
                            "prefix_length" : 2,
                            "type" : "best_fields"
                            }
                        },
                        {
                        "query_string": {
                            "fields": 
                                [
                                    "n_stage"
                                ],
                            "query": "*' . $filter_year . 'S"
                            }
                        }
                    ]
                }
            }
          }

问题是,搜索:"handicap“返回66个结果,而结果"handicap Rochelle”返回100个结果(限制),它应该返回较少的结果,因为"La Rochelle“只能出现在文档的会话字段中

也许我应该使用multi_match之外的其他东西?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-07-30 21:00:26

我相信这是正常的行为:你提供的关键字越多,best_fields和大多数其他multi_match结果就会得到越多的结果。

关键是障碍拉罗谢尔是否排在首位。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44919114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档