ElasticSearch:如何限制搜索以返回特定文档类型?

时间:2019-02-02 23:26:50

标签: python python-3.x elasticsearch python-3.6 elasticsearch-2.0

我有两种文件:


class Article(Document):
    content = Text(analyzer='snowball', fields={'raw': Keyword()})

    class Index:
        name = 'blog'

    def save(self, **kwargs):
        return super(Article, self).save(**kwargs)


class Thing(Document):
    content = Text(analyzer='snowball', fields={'raw': Keyword()})

    class Index:
        name = 'blog'


    def save(self, **kwargs):
        return super(Thing, self).save()

我做了两个简单的插入,如下所示:

thing = Thing(meta={'id': 122}, content='a thing')
article = Article(meta={'id': 154}, content='an article ')
article.save()
thing.save()

现在,我想检索类型为Thing的文档,其内容模糊地类似于字符串“ article”。这是代码。

ubq = Thing.search(using=client).query("fuzzy", content="article")  

奇怪的是,当我遍历ubq.execute()上的结果时,我得到了Article类型的对象(我之前插入的文档)。

我的期望是我什么都不会得到。为什么Thing().search()返回类型为Article的对象?

0 个答案:

没有答案