ソース情報
- リポジトリ
- ffsshhttiikk/opencode-agents-skills
- ソースの最終更新活動
- 2026年2月28日 22:51
- 検出された SKILL.md の言語
- 英語
- スター
- 3
- フォーク
- 2
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- elasticsearch
- description
- Elasticsearch distributed search and analytics engine
- license
- MIT
- compatibility
- opencode
- metadata
- {"audience":"developers","category":"databases"}
## What I do
- Design Elasticsearch indices
- Write complex queries
- Use aggregations
- Configure analyzers
- Handle mappings
- Optimize performance
- Use Beats and Logstash
## When to use me
When building full-text search, log analytics, or real-time applications.
## Mappings
```json
{
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "english",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"content": {
"type": "text"
},
"author": {
"type": "keyword"
},
"published_at": {
"type": "date"
},
"views": {
"type": "integer"
},
"tags": {
"type": "keyword"
},
"location": {
"type": "geo_point"
}
}
}
}
```
## Queries
```json
// Match query
{
"query": {
"match": {
"title": "elasticsearch guide"
}
}
}
// Boolean query
{
"query": {
"bool": {
"must": [
{ "match": { "title": "elasticsearch" } }
],
"filter": [
{ "term": { "status": "published" } }
],
"should": [
{ "match": { "content": "tutorial" } }
],
"must_not": [
{ "term": { "author": "banned" } }
]
}
}
}
// Multi-match
{
"query": {
"multi_match": {
"query": "search engine",
"fields": ["title^2", "content"]
}
}
}
// Nested query
{
"query": {
"nested": {
"path": "comments",
"query": {
"match": { "comments.text": "great" }
}
}
}
}
```
## Aggregations
```json
{
"size": 0,
"aggs": {
"avg_views": {
"avg": { "field": "views" }
},
"by_status": {
"terms": { "field": "status" }
},
"by_author": {
"terms": { "field": "author", "size": 10 }
},
"publish_dates": {
"date_histogram": {
"field": "published_at",
"calendar_interval": "month"
}
}
}
}
```
## Ingest Pipeline
```json
{
"description": "Process logs",
"processors": [
{
"grok": {
"field": "message",
"patterns": ["%{TIMESTAMP:timestamp} %{LOGLEVEL:level} %{GREEDYDATA:message}"]
}
},
{
"date": {
"field": "timestamp",
"formats": ["ISO8601"]
}
},
{
"lowercase": {
"field": "level"
}
},
{
"remove": {
"field": "timestamp"
}
}
]
}
```
## Python Client
```python
from elasticsearch import Elasticsearch
es = Elasticsearch(["http://localhost:9200"])
# Create index
es.indices.create(index="documents", body={
"mappings": {
"properties": {
"title": {"type": "text"},
"content": {"type": "text"},
"date": {"type": "date"}
}
}
})
# Index document
es.index(index="documents", id=1, body={
"title": "Elasticsearch Guide",
"content": "Learn Elasticsearch",
"date": "2024-01-01"
})
# Search
result = es.search(index="documents", body={
"query": {
"match": {"content": "elasticsearch"}
}
})
for hit in result["hits"]["hits"]:
print(hit["_source"])
```
## Performance Tips
```json
// Filter context over query for filters
{
"query": {
"bool": {
"filter": [ // Use filter, not must
{ "term": { "status": "active" } }
]
}
}
}
// Pagination
{
"query": { "match_all": {} },
"from": 10000,
"size": 10
}
// Better: search_after for deep pagination
{
"query": { "match_all": {} },
"search_after": ["value", "id"],
"size": 10
}
```
GitHubで見る