嵌套文档elasticsearch

时间:2016-12-09 14:14:18

标签: python elasticsearch

我正在使用具有嵌套结构的文档,其中尽管我告诉了内容,但未分析"。该文件定义如下:

class SearchDocument(es.DocType)
    # Verblijfsobject specific data
    gebruiksdoel_omschrijving = es.String(index='not_analyzed')
    oppervlakte = es.Integer()
    bouwblok = es.String(index='not_analyzed')
    gebruik = es.String(index='not_analyzed')
    panden = es.String(index='not_analyzed')

    sbi_codes = es.Nested({
        'properties': {
            'sbi_code': es.String(index='not_analyzed'),
            'hcat': es.String(index='not_analyzed'),
            'scat': es.String(index='not_analyzed'),
            'hoofdcategorie': es.String(fields= {'raw': es.String(in dex='not_analyzed')}),
            'subcategorie': es.String(fields={'raw':es.String(index='not_analyzed')}),
            'sub_sub_categorie': es.String(fields= {'raw': es.String(index='not_analyzed')}),
            'bedrijfsnaam': es.String(fields= {'raw': es.String(index='not_analyzed')}),
            'vestigingsnummer': es.String(index='not_analyzed')
        }
})

很明显,它表示"未分析"在大多数领域的文件中。这适用于"常规字段"。问题出在嵌套结构中。在那里,hoofdcategorie和其他字段被索引为单独的单词而不是未分析的单词。

结构填充了以下数据:

[
  {
    "sbi_code": "74103",
    "sub_sub_categorie": "Interieur- en ruimtelijk ontwerp",
    "vestigingsnummer": "000000002216",
    "bedrijfsnaam": "Flippie Tests",
    "subcategorie": "design",
    "scat": "22279_12_22254_11",
    "hoofdcategorie": "zakelijke dienstverlening",
    "hcat": "22279_12"
  },
  {
    "sbi_code": "9003",
    "sub_sub_categorie": "Schrijven en overige scheppende kunsten",
    "vestigingsnummer": "000000002216",
    "bedrijfsnaam": "Flippie Tests",
    "subcategorie": "kunst",
    "scat": "22281_12_22259_11",
    "hoofdcategorie": "cultuur, sport, recreatie",
    "hcat": "22281_12"
  }
]

现在,当我检索聚合时,它已经将hoofdcategorie分成3个不同的单词(" cultuur"," sport"," recreatie")。这不是我想要的,但据我所知,我已经使用"未分析"正确指定了它。短语。

任何想法?

0 个答案:

没有答案