Elastic Inference Service (EIS) ã䜿ã£ãããã¯ãã«æ€çŽ¢ããšãçæAIã«ããåçïŒRAGïŒãã«ã€ããŠãå
š2åã«ããã£ãŠè§£èª¬ããŸãã 第2åãšãªãä»åã¯ãå®è·µç·šããšããŠãEIS ãéããŠã¢ãã«ãåŒã³åºããããã¯ãã«æ€çŽ¢ããšãçæAIã«ããåçïŒRAGïŒããå®éã«åãããŠã¿ãŸãã ç®æ¬¡ åææ¡ä»¶ ãã¹ãããŒã¿ãåçš®ã¹ã¯ãªãã æ€çŽ¢ããŒã¿ã®ã¢ããããŒã ã€ã³ããã¯ã¹ãšãã€ãã©ã€ã³ã®äœæ 1. ã€ã³ããã¯ã¹ã®äœæ 2. ãããã³ã°ã®å®çŸ© 3. ãšã€ãªã¢ã¹ã®äœæ 4. ã€ã³ãžã§ã¹ããã€ãã©ã€ã³ã®äœæ 5. ããŒã¿ã® ReindexïŒãã¯ãã«åã®å®è¡ïŒ åçš®æ€çŽ¢ ããŒã¯ãŒãæ€çŽ¢ïŒå
šææ€çŽ¢ïŒ ãã¯ãã«æ€çŽ¢ (kNN) Reciprocal Rank Fusion (RRF) ã«ãããã€ããªããæ€çŽ¢ ã»ãã³ãã£ãã¯ãªã©ã³ã¯ çæAIã«ããåç æè¡çãªè£è¶³ ã¢ãã«åã®æå® RRF ãšã»ãã³ãã£ãã¯ãªã©ã³ã¯ã®åœ¹å² waganeko_tmp ã€ã³ããã¯ã¹ åèãªã³ã¯ ãŸãšã åææ¡ä»¶ ååã®ã æºåç·š ãã§ã®èšå®ãå®äºããŠããããšãåæãšããŸãã ãã¹ãããŒã¿ãåçš®ã¹ã¯ãªãã ãã®ãµã³ãã«ã§äœ¿çšãããã¹ãããŒã¿ããã³åçš®ã¹ã¯ãªããã¯ãäžèšã® GitHub ãªããžããªã§å
¬éããŠããŸãã elastic-blogs/2026-03-eis at main · SIOS-Technology-Inc/elastic-blogs A sample code for blogs about Elastic. Contribute to SIOS-Technology-Inc/elastic-blogs development by creating an accoun... github.com æ€çŽ¢ããŒã¿ã®ã¢ããããŒã ä»åã®ãã¢ããŒã¿ã«ã¯ãå€ç®æŒ±ç³ã®ãåŸèŒ©ã¯ç«ã§ãããã䜿çšããŸãã é空æåº«ã®ããŒã¿ ãå
ã«ãã«ããåé€ã㊠NDJSON 圢åŒã«å å·¥ãããã¡ã€ã«ãçšæããŸããã ããŒã¿ãã¡ã€ã«: no_ruby_wagahai_wa_neko_dearu.ndjson ã¢ããããŒãæé : README.md  ãåç
§ããSelf-Managed ã® Elasticsearch äžã® waganeko_tmp ã€ã³ããã¯ã¹ãžã¢ããããŒãããŠãã ããã ã€ã³ããã¯ã¹ãšãã€ãã©ã€ã³ã®äœæ 1. ã€ã³ããã¯ã¹ã®äœæ ãŸãã¯ã圢æ
çŽ è§£æïŒicu/kuromojiïŒã®èšå®ãæœãã waganeko_2026_03 ã€ã³ããã¯ã¹ãäœæããŸãã a2_create_index.md ã®ã¹ã¯ãªããã Dev Tools ã® Console ããå®è¡ããŠãã ããã 2. ãããã³ã°ã®å®çŸ© a3_create_index_mapping.md ã Self-Managed ã® Dev Tool ã® Console ããå®è¡ããwaganeko_2026_03 ã€ã³ããã¯ã¹ãžãã£ãŒã«ããäœæããŸãã ãåŸèŒ©ã¯ç«ã§ãããã®æ¬æã content ãã£ãŒã«ãã«ãæ¬æããçæãããå¯ãã¯ãã«ã content_embedding ãã£ãŒã«ããžæ ŒçŽããããã«ããŠããŸãã å¯ãã¯ãã«ã® type ã«ã¯ãbbq_disk ãæå®ããŠããŸããä»åã®ããŒã¿ã¯å°éãªã®ã§ bbq_disk ã䜿ããªããŠãããã®ã§ãããbbq_disk ã®æ€èšŒãå
Œã㊠bbq_disk ã䜿çšããŠããŸãã 3. ãšã€ãªã¢ã¹ã®äœæ éçšã®å©äŸ¿æ§ãé«ãããããwaganeko_2026_03 ã«å¯Ÿã㊠waganeko ãšãããšã€ãªã¢ã¹ãä»äžããŸãã a4_create_alias.md ãå®è¡ããŠãã ããã 4. ã€ã³ãžã§ã¹ããã€ãã©ã€ã³ã®äœæ ããã EIS ã®ç骚é ã§ãã a5_create_ingest_pipeline.md ãå®è¡ããŸãã ãã€ãã©ã€ã³å
ã§æå®ããŠãã .jina-embeddings-v5-text-nano ã¢ãã«ã¯ãSelf-Managed åŽã«ã¯ã€ã³ã¹ããŒã«ãããŠããŸããã EIS ãçµç±ããããšã§ãå€éšã¢ãã«ãããããããŒã«ã«ã¢ãã«ã®ããã«å©çšã§ããŸãã ãã®ãã€ãã©ã€ã³ãããŒã¿åãèŸŒã¿æã«ééãããããšã§ãcontent ãã£ãŒã«ãã®å
容ã«å¿ããå¯ãã¯ãã«ãçæããcontent_embedding ãã£ãŒã«ããžæ ŒçŽã§ããããã«ãªããŸãã 5. ããŒã¿ã® ReindexïŒãã¯ãã«åã®å®è¡ïŒ a6_reindex.md ãå®è¡ããwaganeko_tmp ãã waganeko ãžããŒã¿ãã³ããŒããŸãã ãã®éãåè¿°ã®ãã€ãã©ã€ã³ã«ããèªåçã«ãã¯ãã«åãè¡ãããŸãã åçš®æ€çŽ¢ ããããã¯ãES|QL ãçšããŠç°ãªãæ€çŽ¢ææ³ã詊ããŠãããŸãã ããŒã¯ãŒãæ€çŽ¢ïŒå
šææ€çŽ¢ïŒ ãŸãã¯ãåŸæ¥ã®å
šéšæ€çŽ¢ã§ããã¹ã¯ãªããã¯äžèšã«ãæ²èŒããŠããŸãã a7_keyword_search.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | WHERE MATCH(content, ?query) | KEEP chunk_no, content, _score | SORT _score DESC | LIMIT 20 """, "params": [ { "query": "åŸèŒ©ãçãŸããå Žæã¯?" } ] } æ€çŽ¢çµæïŒãå Žæããšããåèªã«åŒã£åŒµãããå¿
ãããæå³ããåçïŒåé ã®äžç¯ïŒãäžäœã«æ¥ããšã¯éããŸããã ... "values": [ [ 1217, "ãã°ããã¯çºããã®æ¹ãžæ°ãåãããŠä»ã®åç©ã®äºã¯å
šãå¿ããŠããã®ã¿ãªãããèŠãããã«ãããã§ãã䞻人ããèšæ¶ã®äžããæ¶ãå»ã£ãæçªç¶æµããšæ¿ã®éã®äžéã§å€§ããªå£°ãåºããã®ããããèŠããšçŽãããªãèŠæ²åŒ¥å
çã§ããã䞻人ã®å£°ã®å³æããŠå€§ããªãã®ãšããã®æ¿ã£ãŠèŽãèŠããã®ã¯ä»æ¥ã«å§ãŸã£ãäºã§ã¯ãªããå Žæãå Žæã ãã«åŸèŒ©ã¯å°ãããé©ãããã", 8.456548690795898 ], [ 213, "ããªãã»ã©ä»²å±
ã¯è¶å±ã«é·å±ãããã®ã§ã飿ã¯åšŒå®¶ã«èµ·è¥ããè
ã§ãããæ¬¡ã«èŠçªãšäºãã®ã¯äººéã§ãããŸãã¯äžå®ã®å Žæãæãã®ã§ããããã人éãšããã°ç·ã§ãã女ã§ããããèŠçªã¯äœã§ãç·ã®äººéã ãšæããŸãããäœãåžã©ã£ãŠãããã§ãããªãããããããŸã§ã¯ãŸã 調ã¹ãå±ããŠãããŸããããã®å
調ã¹ãŠèŠãŸããããããã§æžåããã£ãæ¥ã«ã¯é çæŒ¢ãªãã®ãåºæ¥ãã ãããšåŸèŒ©ã¯äž»äººã®é¡ãã¡ãã£ãšèŠäžããã", 6.545511245727539 ], ... ] ... ãã¯ãã«æ€çŽ¢ (kNN) 次ã«ãã¯ãã«æ€çŽ¢(kNN)ãè¡ã£ãŠã¿ãŸããã¹ã¯ãªããã¯äžèšã«ãæ²èŒããŠããŸãã a8_vector_search.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | KEEP chunk_no, content, _score | SORT _score DESC | LIMIT 20 """, "params": [ { "query": "åŸèŒ©ãçãŸããå Žæã¯?" } ] } ã¯ãšãªãŒããå¯ãã¯ãã«ãçæããã¢ãã«ã«ã¯ã”.jina-embeddings-v5-text-nano” ãæå®ããŸãã æ€çŽ¢çµæïŒãã©ãã§çããããšããšèŠåœãã€ã㬅ããšããæåãªåé éšåã 1 äœã«ã©ã³ã¯ã€ã³ããŸããã ... "values": [ [ 2, "ã©ãã§çããããšããšèŠåœãã€ãã¬ãäœã§ãèæãããããããæã§ãã£ãŒãã£ãŒæ³£ããŠããäºã ãã¯èšæ¶ããŠãããåŸèŒ©ã¯ããã§å§ããŠäººéãšãããã®ãèŠãããããããšã§èããšããã¯æžçãšãã人éäžã§äžçªç°æªãªçš®æã§ãã£ãããã ããã®æžçãšããã®ã¯æã
æã
ãæããŠç
®ãŠé£ããšãã話ã§ãããããããã®åœæã¯äœãšããèããªãã£ããã奿®µæãããšãæããªãã£ãã", 0.7278214693069458 ], [ 1039, "ã¡ããã©äžæ¥ç®ã®ææ¹ã«ãé£ã®å®¶ã§èµ€ãåããããããšæ³£ãã声ãèããŠãããããã ãšè±ç¶å€§æããŠãããããæ©éé·ã髪ãåã£ãŠç·ã®çç©ãã㊠Hierophilus ã®è¬çŸ©ãããã«è¡ã£ããéŠå°Ÿããè¬çŸ©ãããçµããŠããã倧äžå€«ãšäºããšããã§ãã£ãŠãããããç£å©ã鿥ããããšãããã奥ããæµè¡ããŸãããããã¡ãã§ããããããšçãããã¡ãã§ããããããšçããã", 0.7182090282440186 ], ... ] ... Reciprocal Rank Fusion (RRF) ã«ãããã€ããªããæ€çŽ¢ ããã»ã©ã®ããŒã¯ãŒãæ€çŽ¢çµæãšãã¯ãã«æ€çŽ¢çµæã RRF ã«ããèåããŠã¿ãŸããã¹ã¯ãªããã¯äžèšã«ãæ²èŒããŠããŸãã a9_rrf.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | FORK (WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | SORT _score DESC | LIMIT 20) (WHERE MATCH(content, ?query) | SORT _score DESC | LIMIT 20) | DROP content_embedding | FUSE | KEEP chunk_no, content, _score | SORT _score DESC | LIMIT 10 """, "params": [ { "query": "åŸèŒ©ãçãŸããå Žæã¯?" } ] } ES|QL ã® FUSE ã䜿ã£ãŠ RRF ã«ããã©ã³ãã³ã°èåãè¡ã£ãŠããŸãã ES|QL FUSE command | Elasticsearch Reference www.elastic.co æ€çŽ¢çµæïŒä»åã¯ã欲ããã£ãããã¥ã¡ã³ãã®ããŒã¯ãŒãæ€çŽ¢ã§ã®é äœãäœãã£ãããã«ãRRF ã§ã®çµæã§ã¯æ¬²ããã£ãããã¥ã¡ã³ãã第2äœã«ãªã£ãŠããŸãã ... "values": [ [ 1462, "仿¥äœäººãã°ãã«åºé¢ã£ãŠããã®äž»ã¯ç·ã女ãããã®å Žæã¯å°å·çºã®å§å·¥å Žã§ããããäžéã®å
¬åã§ããããããšããšãåœŒã®æ¥èšã«ã€ã蟌ãã§ããã圌ã¯ãã°ãã«é¢ããæºèã«ãããŠã¯æ±ºããŠèª°ã«ãè²ããŸããšç¢ºä¿¡ããŠãããããã ã£ãŠããæŽè¡åž°ãã®åäººãæ¥ãæãªãã¯ããå西æŽäººã«ã¯ãã°ããããããªããšèãããããã ã", 0.028958333333333336 ], [ 2, "ã©ãã§çããããšããšèŠåœãã€ãã¬ãäœã§ãèæãããããããæã§ãã£ãŒãã£ãŒæ³£ããŠããäºã ãã¯èšæ¶ããŠãããåŸèŒ©ã¯ããã§å§ããŠäººéãšãããã®ãèŠãããããããšã§èããšããã¯æžçãšãã人éäžã§äžçªç°æªãªçš®æã§ãã£ãããã ããã®æžçãšããã®ã¯æã
æã
ãæããŠç
®ãŠé£ããšãã話ã§ãããããããã®åœæã¯äœãšããèããªãã£ããã奿®µæãããšãæããªãã£ãã", 0.01639344262295082 ], ... ] ... ã»ãã³ãã£ãã¯ãªã©ã³ã¯ ããã»ã©ã® RRF ã«ããåè£ãçµã蟌ãã åŸã«ãã»ãã³ãã£ãã¯ãªã©ã³ã¯ãè¡ã£ãŠã¿ãŸãã ã»ãã³ãã£ãã¯ãªã©ã³ã¯ã«å©çšããã¢ãã«ã¯ã”.jina-reranker-v3″ ã§ãã ã¹ã¯ãªããã¯äžèšã«ãæ²èŒããŠããŸãã a10_rrf_semantic_rerank.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | FORK (WHERE MATCH(content, ?query) | SORT _score DESC | LIMIT 20) (WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | SORT _score DESC | LIMIT 20) | DROP content_embedding | FUSE | SORT _score DESC | LIMIT 10 | RERANK ?query ON content WITH { "inference_id" : ".jina-reranker-v3" } | KEEP chunk_no, content, _score | SORT _score DESC """, "params": [ { "query": "åŸèŒ©ãçãŸããå Žæã¯?" } ] } ES|QL ã® RERANK ã³ãã³ãã䜿ã£ãŠã»ãã³ãã£ãã¯ãªã©ã³ã¯ãè¡ããŸãã ES|QL RERANK command | Elasticsearch Reference www.elastic.co 泚ç®ããŠã»ããã®ã¯ãSelf-Managed ã® Elasticsearch ã«ã¯ .jina-reranker-v3 ãã€ã³ã¹ããŒã«ããŠããªãã«ãããããããå©çšã§ããç¹ã§ãã æ€çŽ¢çµæïŒæ¬²ããã£ãããã¥ã¡ã³ãã第1äœã«ãªããŸããã ... "values": [ [ 2, "ã©ãã§çããããšããšèŠåœãã€ãã¬ãäœã§ãèæãããããããæã§ãã£ãŒãã£ãŒæ³£ããŠããäºã ãã¯èšæ¶ããŠãããåŸèŒ©ã¯ããã§å§ããŠäººéãšãããã®ãèŠãããããããšã§èããšããã¯æžçãšãã人éäžã§äžçªç°æªãªçš®æã§ãã£ãããã ããã®æžçãšããã®ã¯æã
æã
ãæããŠç
®ãŠé£ããšãã話ã§ãããããããã®åœæã¯äœãšããèããªãã£ããã奿®µæãããšãæããªãã£ãã", 0.33165714144706726 ], [ 1217, "ãã°ããã¯çºããã®æ¹ãžæ°ãåãããŠä»ã®åç©ã®äºã¯å
šãå¿ããŠããã®ã¿ãªãããèŠãããã«ãããã§ãã䞻人ããèšæ¶ã®äžããæ¶ãå»ã£ãæçªç¶æµããšæ¿ã®éã®äžéã§å€§ããªå£°ãåºããã®ããããèŠããšçŽãããªãèŠæ²åŒ¥å
çã§ããã䞻人ã®å£°ã®å³æããŠå€§ããªãã®ãšããã®æ¿ã£ãŠèŽãèŠããã®ã¯ä»æ¥ã«å§ãŸã£ãäºã§ã¯ãªããå Žæãå Žæã ãã«åŸèŒ©ã¯å°ãããé©ãããã", 0.08227790892124176 ], ... ] ... çæAIã«ããåç æåŸã«ãæ€çŽ¢çµæã®ã³ã³ããã¹ãã LLM ã«æž¡ããèªç¶èšèªã§åçãçæãããŸãã ããä¹±æŽã§ãããã»ãã³ãã£ãã¯ãªã©ã³ã¯ã®çµæã®ç¬¬1äœã®ããã¥ã¡ã³ãã®å
容ãå
ã«ããŠãçæAI ã«è³ªåã«åçããããäŸé ŒããŠã¿ãŸãã åçã«äœ¿çšããã¢ãã«ã¯ã.openai-gpt-oss-120b-completion ã§ãã ã¹ã¯ãªããã¯äžèšã«ãæ²èŒããŠããŸãã a11_completion.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | FORK (WHERE MATCH(content, ?query) | SORT _score DESC | LIMIT 20) (WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | SORT _score DESC | LIMIT 20) | DROP content_embedding | FUSE | SORT _score DESC | LIMIT 10 | RERANK ?query ON content WITH { "inference_id" : ".jina-reranker-v3" } | SORT _score DESC | KEEP content | LIMIT 1 | COMPLETION CONCAT("Answer in Japanese the following question ", ?query, " based on:\n", content) WITH { "inference_id" : ".openai-gpt-oss-120b-completion" } """, "params": [ { "query": "åŸèŒ©ãçãŸããå Žæã¯?" } ] } ES|QL ã® COMPLETION ã³ãã³ããå©çšããŠããŸãã ES|QL COMPLETION command | Elasticsearch Reference www.elastic.co 泚ç®ããŠã»ããã®ã¯ãSelf-Managed ã® Elasticsearch ã«ã¯ .openai-gpt-oss-120b-completion ãã€ã³ã¹ããŒã«ããŠããªãã«ãããããããå©çšã§ããç¹ã§ãã åççµæã®äŸ åŸèŒ©ã¯ãèæã湿ã£ãæããããªãã¡æããŠããããããå Žæã§çãŸããŸããã ïŒãã©ãã§çããããšããšèŠåœãã€ãã¬ãäœã§ãèæãããããããæã§ãã£ãŒãã£ãŒæ³£ããŠããäºã ãã¯èšæ¶ããŠãããããšããèšè¿°ã«åºã¥ããïŒ åã£ãŠããããã§ãã æè¡çãªè£è¶³ ã¢ãã«åã®æå® EIS ã§å©çšããã¢ãã«åã¯ãElastic Cloud ã® Relevance > Inference endpoints ç»é¢ã«è¡šç€ºããã Endpoint ã䜿çšããŸãã RRF ãšã»ãã³ãã£ãã¯ãªã©ã³ã¯ã®åœ¹å² æ¬ãµã³ãã«ã§ã¯ãRRF ãšã»ãã³ãã£ãã¯ãªã©ã³ã¯ã䜵çšããŠããŸãã Reciprocal Rank Fusion (RRF): ããŒã¯ãŒããšãã¯ãã«ã®ç°ãªãæ€çŽ¢ææ³ãçµ±åããåè£ãæŒããªãæœåºãããçµã蟌ã¿ãã®ãã§ãŒãºã ã»ãã³ãã£ãã¯ãªã©ã³ã¯: çµã蟌ãŸããäžäœããã¥ã¡ã³ãã«å¯ŸããLLM çãªæèçè§£ã§ãçã®åçããæäžäœã«æã£ãŠãããä»äžããã®ãã§ãŒãºã waganeko_tmp ã€ã³ããã¯ã¹ waganeko_tmp ã€ã³ããã¯ã¹ã®å
容ã waganeko ã€ã³ããã¯ã¹ãž reindex ããåŸã¯ãwaganeko_tmp ã€ã³ããã¯ã¹ã¯äžèŠãšãªããŸãã å¿
èŠãªããã°ãåé€ããŠããŸããŸããã åèãªã³ã¯ Cloud Connect ãå©çšããå Žåã®è¿œå è²»çšã«ã€ããŠã¯ãäžèšãåç
§ããŠãã ããã https://cloud.elastic.co/cloud-pricing-table?productType=cloud_connect ãŸãšã Self-Managed ã® Elasticsearch ã§ãã£ãŠããElastic Inference Service (EISïŒã掻çšããããšã§ã éãæšè«ã¢ãã«ãèªåã§ç®¡çã»éçšããããšãªãããã¯ãã«æ€çŽ¢ãã»ãã³ãã£ãã¯ãªã©ã³ã¯ãçæAIã«ããåçãæ¥µããŠã·ã³ãã«ã«å®è£
ã§ããŸããã ãã²ãçããã®ç°å¢ã§ã EIS ãæŽ»çšããé«åºŠãªæ€çŽ¢äœéšã詊ããŠã¿ãŠãã ããã The post Elastic Inference Service (EIS) ã䜿ã£ãããã¯ãã«æ€çŽ¢ãããã³ãçæAIã«ããåçïŒRAGïŒãïŒå®è·µç·šïŒ first appeared on Elastic Portal .