URL を Elasticsearch のフィールドとして保存します。ただし、 にサブドメインを持つドキュメントのみをフィルタリングしたいと思いますurl
。
例えば。
検索結果に
http://any-subdomain.example.com
しかし、私は結果を望んでいません
https://www.example.com
これは Elasticsearch クエリで可能ですか?
URL を Elasticsearch のフィールドとして保存します。ただし、 にサブドメインを持つドキュメントのみをフィルタリングしたいと思いますurl
。
例えば。
検索結果に
http://any-subdomain.example.com
しかし、私は結果を望んでいません
https://www.example.com
これは Elasticsearch クエリで可能ですか?
query_string
クエリで試しましたか?たとえば、次のようなTwitterデータに使用しました。
GET /twitter2/tweet/_search
{
"query": {
"query_string": {
"default_field": "entities.media.url",
"query": "https\\:\\/\\/t.co\\/* AND -https\\:\\/\\/t.co\\/6*"
}
},
"_source": ["entities.media.url"]
}
この検索の場合、私のマッピング:
PUT /twitter2/tweet/_mapping
{
"properties": {
"entities": {
"properties": {
"media": {
"properties": {
"url": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
また、次のクエリをケースに使用できます。
GET /your-index/your-type/_search
{
"query": {
"query_string": {
"default_field": "url",
"query": "http\\:\\/\\/*.example.com AND -http\\:\\/\\/www.example.com"
}
}
}
url
注:およびとしてデータをインデックス化する際に処理するものを使用すると、結果をより速く取得できることを知っておく必要がありhost
ます。Elastic 5.x では、取り込みノードを使用して、このようにデータを操作できます。このためのパイプラインを作成しようとしますが、詳細についてはドキュメントを確認してください