当前位置: 首页 > 知识库问答 >
问题:

来自列表的Python Elasticsearch DSL查询值

麻华辉
2023-03-14

我使用的是Python的Elasticsearch DSL包:http://ellasticsearch-dsl.readthedocs.org/en/latest/search_DSL.html

我的示例elasticsearch条目如下所示:

{
  "_index" : "users",
  "_type" : "player",
  "_id" : "1",
  "_version" : 5,
  "found" : true,
  "_source":{"doc": {"weight": 92, "height": 184, "gender": "male", "firstname": "John", "lastname": "Smith", "age": 31, "country": "France"}}

我正在尝试获取[France,Australia]列表中firstname=“john*”country的所有条目。下面是我的代码:

firstname = 'John'
s = Search(index='users').using(elasticsearch)
must = [
  {'match': {'doc.firstname': {'query': firstname + '*', 'boost': 2}}},
  {'terms': {'doc.country': [u'France', u'Australia']}}]

s = s.query(Q('bool', must=must))
response = s.execute()

它返回空结果,我做错了什么?我使用的是这里的建议:Elasticsearch对场匹配列表

我对Elasticsearch是个新手,对我们在哪里使用查询和过滤还是有点困惑。

共有1个答案

颛孙建业
2023-03-14

我对此使用了should param:

firstname = 'John'
s = Search(index='users').using(elasticsearch)
must = [
  {'match': {'doc.firstname': {'query': firstname + '*', 'boost': 2}}}]

should = []
for country in countries:
  should.append({'match': {'doc.country': country}})

s = s.query(Q('bool', must=must, should=should, minimum_should_match=1))
response = s.execute()
 类似资料:
  • 我有一张地图,用户可以在其中选择一个县。我希望它能够做的是返回“成员”在该县的所有“遭遇”。 唯一的问题是,“county”不是我需要为其返回文档的索引字段(“county”是“member”索引中的字段,而我想从“Conferences”索引中返回文档)(它们由“memberId”链接)。 以下是我目前所做的,在一个县中获得成员。 但这将返回该县成员的文档列表。我需要它返回这些文档的member

  • 问题内容: 我正在尝试从C#查询SQL Server数据库 我有课 我的查询中有问题。 当我给普通查询“从表中选择*”时,这给了我完美的结果。 但是当我尝试给出条件时,它给了我错误。有什么建议可以解决吗?谢谢。 问题答案: 钿狅笍 警告 此答案包含一个SQL注入安全漏洞。不要使用它。如该问题的其他一些答案所述(例如,Tony Hopkinson的答案),请考虑使用参数化查询。 尝试在where子句

  • 问题内容: 我有一个要求,我需要限制从表返回的特定标志和所有记录的其他标志值的记录数。 例如:table有一个名为的元素,可能的值为’m’和’o’。 我只需要返回10条“ o”记录和所有“ m”记录。 我正打算为此与工会写一个查询。像这样: 这可能吗?请注意,它是一个JPA查询。(contact_history是对象名称) 任何其他更好的建议,欢迎您! 问题答案: 不,这对于JPQL是不可能的,因

  • 这个问题是关于一个Spring MVC项目的,在这个项目中,我确实将Hibernate与JPA一起使用。对于消息是一个实体类 为了执行一些简单的查询,使用了一个从JPararePository派生的接口。 通过运行project its获取错误,如 这种接口有什么问题,在这种类型的接口中必须遵守规则?

  • 我在文件夹中: 其中保留了一些简单的X查询STMT,以便通过Saxon X查询引擎执行...(Saxon 9.4 HE) 以下声明: 给出: 但下面的语句很管用: ?!?! 与类加载器有关..??许可..??小天鹅?嗯... 非常感谢你指出这个小天鹅的行为! 但奇怪的是,当我也试图通过我的Eclipse(Indigo)在Mac OS Lion上运行Xquery时,我遇到了这个(与上面完全相同),通

  • 我有一个MongoDB集合,其中包含以下字段的文档: 日期(日期obj) 我想用MongoRepository编写一个方法来查找日期在一系列日期中的所有文档,并且offerType包含列表中提供的字符串之一 文件: 日期:2019年4月10日,报价类型:报价1 我想要: 日期在9-04-2019和12-04-2019之间 以下优惠:Offer1、offer3 在上一个示例中,我将获得文档1和2。