2

1 つはすべてのレコードに関連付けられているタイムスタンプで、もう 1 つは expiryDate の 2 つのフィールドがあるため、lucene クエリをディスカバー パーツ検索セクションに配置して、有効期限 > タイムスタンプのレコードを抽出したいと考えています。誰でもクエリを書くのを手伝ってくれますか。online.timestamp を 1 つのフィールド、online.expiry を別のフィールドと考えてください。

4

1 に答える 1

2

以下のクエリを書くことができます:-

{"constant_score":{"filter":{"script" : { "script" : "doc['online.expiry'].value > doc['online.timestamp'].value"}}}}

上記のクエリを使用すると、次のようなエラーが表示される場合があります。

ScriptException [タイプ [インライン]、操作 [検索] および言語 [groovy] のスクリプトは無効になっています]

このエラーを解決するには、elasticsearch.yml ファイルを編集し、最後に次のプロパティを入力します。

 script.inline:on

次に、Elasticsearch ノードまたはクラスターを再起動し、Kibana で同じクエリを実行して、目的のレコードを取得できます。

于 2016-06-12T06:52:38.653 に答える