gpt4 book ai didi

django - Elasticsearch 查询

转载 作者:行者123 更新时间:2023-12-03 01:36:36 25 4
gpt4 key购买 nike

我的 Elasticsearch 查询遇到一些问题。我有以下字段,Patientid,Patientfirstname,Patientmidname和Patientlastname。我希望能够在这4个字段之一中输入并获得匹配的结果。到目前为止,仅当我使用Patientid时,查询才有效。如果我输入“哈利”(名字)或中间名/姓氏之类的信息,则不会查询它。单个词条查询适用于每个词条。

q = Q({"bool": { "should": [ {"term":{"patientid":text}}, {"wildcard":{"patientlastname":"*"+text+"*"}}, {"wildcard":{"patientfirstname":"*"+text+"*"}}, {"wildcard":{"patientmidname":"*"+text+"*"}} ]}})

r = Search().query(q)[0:10000]

最佳答案

匹配取决于您的分析仪,我建议仅使用:

Search().query('multi_match', query=text, fields=['patientid', 'patientlastname', 'patientfirstname', 'patientmidname'])

它将跨这些字段进行查询(您可以在[0]中了解 type查询的不同 multi_match)。

您只需要确保正确分析了所有患者姓名字段即可(有关详细信息,请参见[1])。

0- https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html
1- https://www.elastic.co/guide/en/elasticsearch/reference/6.4/analysis.html#_index_time_analysis

关于django - Elasticsearch 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51973157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com