3

X-Pack for Elasticsearch の使用を開始したばかりで、ネストされたドキュメント タイプから頂点を接続したいと考えています。ただし、これに関するドキュメントを探しても、どこにも行きませんでした。

私が持っているのは、ネストされたドキュメントとして人物名/IDを持つドキュメントのインデックスです(1つのドキュメントには多くの人物を含めることができ、1人の人物は多くのドキュメントに関連付けることができます)。望ましい結果は、人物間のつながりを含むグラフ データを取得することです。

誰かが手がかりを持っているか、これが可能かどうか教えてくれますか?

私のマッピングの一部:

mappings: {
    legend: {
        properties: {
            persons: {
                type: 'nested',
                properties: {
                    id: {
                        type: 'string',
                        index: 'not_analyzed'
                    },
                    name: {
                        type: 'string',
                        index: 'not_analyzed'
                    }
                }
            }
        }
    }
}

そして、ネストされた「persons」フィールドの「name」フィールドを処理する方法がわからないため、これはもちろん機能しません。

POST sagenkarta_v3/_xpack/_graph/_explore
{
  "controls": {
    "use_significance": true,
    "sample_size": 20000,
    "timeout": 2000
  },
  "vertices": [
    {
      "field": "persons.name"
    }
  ],
  "connections": {
    "vertices": [
      {
        "field": "persons.name"
      }
    ]
  }
}

前もって感謝します!

4

1 に答える 1

0

次の質問がここで議論されました: https://discuss.elastic.co/t/elasticsearch-x-pack-how-to-get-vertices-connections-from-nested-documents/88709

Mark_Harwood - Elastic チーム メンバーからの引用:

残念ながら、Graph はネストされたドキュメントをサポートしていませんが、マッピングで copy_to を使用して、含まれているルート ドキュメントのインデックス付きフィールドに個人データを配置できます。

「computers-want-IDs-but-people-want-labels」という古典的な問題があり、これらの両方の値を持っていることがわかります。グラフ (およびほぼ間違いなく Kibana の残りの部分) では、一意性のために ID と人間が読みやすいように名前を組み合わせたトークンを使用することをお勧めします。

copy_to と IDs-and-labels のヒントは、今年の私のエラスティックトークでのモデリングの提案の一部です: https://www.elastic.co/elasticon/conf/2017/sf/getting-your-data-graph-ready 3

于 2019-04-08T10:14:12.403 に答える