Tüm Ürünler
Search
Belge Merkezi

Elasticsearch:AliNLP tokenizasyon eklentisini kullanma (analysis-aliws)

Son Güncelleme:Oct 04, 2026

AliNLP tokenizasyon eklentisi (analysis-aliws), Alibaba Cloud Elasticsearch (ES) için yerleşik bir sistem eklentisidir. Eklentiyi yükledikten sonra Alibaba Cloud ES, belge analizi ve arama işlemleri için ilgili analizörü ve tokenizasyonu entegre eder. Ayrıca sözlük yapılandırma özelliğini kullanarak sözlükleri anlık olarak güncelleyebilirsiniz.

Eklentiye genel bakış

analysis-aliws eklentisini yükledikten sonra Alibaba Cloud ES varsayılan olarak aşağıdaki analizör ve tokenizasyonu içerir. Belgeleri aramak için bu bileşenleri kullanabilir ve tokenizasyon sözlüğünü güncellemek amacıyla sözlük yapılandırma özelliğinden yararlanabilirsiniz.

  • Analizör: aliws analizörü, edatları, edat öbeklerini ve sembolleri korur. Ayrıca tüm büyük harfli İngilizce karakterleri otomatik olarak küçük harfe dönüştürür.

  • Tokenizasyon: aliws_tokenizer

  • Daha fazla bilgi için bkz. aliws analizörünü kullanarak belgelerde arama yapma ve Sözlükleri yapılandırma.

  • analysis-aliws eklentisi beklenen sonuçları döndürmezse sorunu Analizörü test etme ve Tokenizasyonu test etme adımlarını uygulayarak giderebilirsiniz.

  • Özel bir tokenizasyon oluşturmak için Özel tokenizasyon oluşturma konusuna bakın.

Ön koşullar

analysis-aliws eklentisi yüklüdür. Bu eklenti varsayılan olarak yüklü gelmez. Yükleme yönergeleri için bkz. Yerleşik bir eklentiyi yükleme ve kaldırma.

Bir eklentiyi yüklemek veya kaldırmak kümenin rolling restart işlemine tetikler. Düğümler tek tek yeniden başlatıldığından küme durumu yeşilden sarıya geçer. Küme kullanılabilir durumda kalır ancak sağlıklı düğümlerdeki yük artar ve performans etkilenebilir. Bu işlemi yoğun saatler dışında gerçekleştirin.

Sınırlamalar

  • Elasticsearch kümenizdeki veri düğümlerinin bellek boyutu 8 GiB veya üzeri olmalıdır. Veri düğümlerinin bellek boyutu bu gereksinimi karşılamıyorsa kümeyi yükseltin. Daha fazla bilgi için bkz. Kümenin yapılandırmasını yükseltme.

  • Elasticsearch V5.X kümeleri, Elasticsearch V8.X kümeleri ve Elasticsearch Kernel-enhanced Edition kümeleri analysis-aliws eklentisini desteklemez. Kümenizin eklentiyi destekleyip desteklemediğini Elasticsearch konsolunda kontrol edebilirsiniz.

aliws analizörünü kullanarak belgelerde arama yapma

  1. Hedef Alibaba Cloud Elasticsearch örneğinin Kibana konsoluna giriş yapın ve ekrandaki talimatları izleyerek Kibana ana sayfasını açın. Yönergeler için bkz. Kibana konsoluna giriş yapma.

    Not

    Bu konuda örnek olarak Alibaba Cloud Elasticsearch 6.7.0 sürümü kullanılmıştır. Diğer sürümlerde işlemler biraz farklılık gösterebilir. Lütfen gerçek konsol arayüzünü referans alın.

  2. Sol gezinme bölmesinde Dev Tools seçeneğine tıklayın.

  3. Console alanında bir dizin oluşturmak için aşağıdaki komutlardan birini çalıştırın.

    • 7.0'dan önceki sürümler

    PUT /index
    {
       "mappings": {
            "fulltext": {
                "properties": {
                    "content": {
                        "type": "text",
                        "analyzer": "aliws"
                    }
                }
            }
        }
    }
    • Sürüm 7.0 veya sonrası

    PUT /index
    {
      "mappings": {
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "aliws"
              }
          }
      }
    }

    Yukarıdaki örneklerde fulltext türüne (veya 7.x sürümünde _doc türüne) sahip index adında bir dizin oluşturulur. Dizin, text türünde bir content özelliği içerir ve aliws analizörünü kullanır.

    Komut başarıyla çalıştırılırsa aşağıdaki sonuç döndürülür:

    {
      "acknowledged": true,
      "shards_acknowledged": true,
      "index": "index"
    }
  4. Bir belge eklemek için aşağıdaki komutu çalıştırın.

    Önemli

    Aşağıdaki komut yalnızca 7.0'dan önceki Elasticsearch sürümleri için geçerlidir. 7.0 veya sonraki sürümlerde fulltext ifadesini _doc olarak değiştirin.

    POST /index/fulltext/1
    {
      "content": "I like go to school."
    }

    Yukarıdaki komut, 1 adlı bir belge ekler ve content alanını I like go to school. olarak ayarlar.

    Komut başarıyla çalıştırılırsa aşağıdaki sonuç döndürülür:

    {
      "_index": "index",
      "_type": "fulltext",
      "_id": "1",
      "_version": 1,
      "result": "created",
      "_shards": {
        "total": 2,
        "successful": 2,
        "failed": 0
      },
      "_seq_no": 0,
      "_primary_term": 1
    }
  5. Belgelerde arama yapmak için aşağıdaki komutu çalıştırın.

Önemli

Aşağıdaki komut yalnızca 7.0'dan önceki Elasticsearch sürümleri için geçerlidir. 7.0 veya sonraki sürümlerde fulltext ifadesini _doc olarak değiştirin.

GET /index/fulltext/_search
{
  "query": {
    "match": {
      "content": "school"
    }
  }
}

Yukarıdaki komut, aliws analizörünü kullanarak fulltext türündeki tüm belgeler arasında content alanında school ifadesi geçen belgeleri arar.

Komut başarıyla çalıştırılırsa aşağıdaki sonuç döndürülür:

{
  "took": 5,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 0.2876821,
    "hits": [
      {
        "_index": "index",
        "_type": "fulltext",
        "_id": "2",
        "_score": 0.2876821,
        "_source": {
          "content": "I like go to school."
        }
      }
    ]
  }
}
Not

analysis-aliws eklentisinden alınan sonuçlar beklentileri karşılamazsa aşağıdaki Analizörü test etme ve Tokenizasyonu test etme bölümlerini kullanarak sorunu giderin.

Sözlükleri yapılandırma

analysis-aliws eklentisi sözlük yapılandırmasını destekler. aliws_ext_dict.txt adlı özel bir sözlük dosyası yükleyebilirsiniz. Dosyayı yükledikten sonra kümedeki tüm düğümler dosyayı otomatik olarak yükler ve kümeyi yeniden başlatmadan sözlüğü anlık olarak günceller.

Not
  • analysis-aliws eklentisini yükledikten sonra herhangi bir sözlük dosyası sağlanmaz. Özel bir sözlük dosyasını manuel olarak yüklemeniz gerekir.

  • Bir sözlük dosyası yüklemeden önce dosyanın aşağıdaki gereksinimleri karşıladığından emin olun:

    • Dosya adı: aliws_ext_dict.txt olmalıdır.

    • Dosya biçimi: UTF-8 kodlaması kullanmalıdır.

    • İçerik: Her satırda başında veya sonunda boşluk bulunmayan tek bir terim yer almalıdır. UNIX veya Linux satır sonlarını (\n) kullanın. Dosyayı Windows'ta oluşturduysanız yüklemeden önce bir Linux makinesinde dosyayı dönüştürmek için dos2unix aracını kullanın.

  1. Alibaba Cloud Elasticsearch konsoluna giriş yapın.

  2. Sol gezinme bölmesinde Elasticsearch Clusters seçeneğine tıklayın.

  3. Hedef örneği açın.

     a. In the menu bar, select the resource group and region.
    
     b. Click the target instance ID in <b class="xdita-conref" data-key="logstash.pipeline.slide.form.esInstanceId.title" data-project="elasticsearch">Elasticsearch Cluster</b>.
  4. Sol gezinme bölmesinde Configuration and Management > Plug-ins seçeneklerini belirleyin.

  5. Built-in Plug-ins bölümünde analysis-aliws eklentisini bulun. İlgili satırın Actions sütununda Configure Dictionary seçeneğine tıklayın.

  6. Configure Dictionary sayfasının alt kısmında Configure seçeneğine tıklayın.

  7. Sözlük dosyasını yüklemek için bir yöntem seçin ve dosyayı yükleyin:

    • TXT File: Upload TXT File seçeneğine tıklayın ve yerel bir sözlük dosyası seçerek yükleyin.

    • Add OSS File: Paket adını ve dosya adını girin, ardından Add seçeneğine tıklayın. Paket ile Alibaba Cloud Elasticsearch örneğinin aynı bölgede bulunduğundan emin olun. Kaynak OSS dosyasının içeriği değişirse değişikliklerin etkili olması için sözlük dosyasını tekrar yükleyin. Otomatik senkronizasyon desteklenmez.

    Not

    analysis-aliws eklentisi yalnızca tek bir sözlük dosyasını destekler. Sözlük dosyasını güncellemek için yüklenen sözlük dosyasını silmek üzere aliws_ext_dict.txt dosyasının yanındaki X simgesine tıklayın ve ardından yeni bir dosya yükleyin.

  8. Save seçeneğine tıklayın. Kaydetme işlemi kümeyi yeniden başlatmaz. Bunun yerine yüklenen sözlük dosyasını uygulayan bir küme değişikliğini tetikler. Bu işlem yaklaşık 10 dakika sürer.

Not

Yüklenen bir sözlük dosyasını indirmek için yapılandırmadan önce ilgili download icon simgesine tıklayın.

Analizörü test etme

aliws analizörünü test etmek için aşağıdaki komutu çalıştırın:

GET _analyze
{
  "text": "I like go to school.",
  "analyzer": "aliws"
}

Komut başarıyla çalıştırılırsa aşağıdaki sonuç döndürülür:

{
  "tokens" : [
    {
      "token" : "i",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "like",
      "start_offset" : 2,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "go",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "school",
      "start_offset" : 13,
      "end_offset" : 19,
      "type" : "word",
      "position" : 8
    }
  ]
}

Tokenizasyonu test etme

aliws_tokenizer tokenizasyonunu test etmek için aşağıdaki komutu çalıştırın:

GET _analyze
{
  "text": "I like go to school.",
  "tokenizer": "aliws_tokenizer"
}

Komut başarıyla çalıştırılırsa aşağıdaki sonuç döndürülür:

{
  "tokens" : [
    {
      "token" : "I",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : " ",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "like",
      "start_offset" : 2,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : " ",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "go",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : " ",
      "start_offset" : 9,
      "end_offset" : 10,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "to",
      "start_offset" : 10,
      "end_offset" : 12,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : " ",
      "start_offset" : 12,
      "end_offset" : 13,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "school",
      "start_offset" : 13,
      "end_offset" : 19,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : ".",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 9
    }
  ]
}

Özel tokenizasyon oluşturma

  • analysis-aliws eklentisi metni tokenize ettikten sonra stemmer, lowercase, porter_stem ve stop gibi filtreler uygular. Bu filtreleri özel bir tokenizasyonda kullanmak için özel tokenizasyona analysis-aliws eklentisinin aliws_tokenizer tokenizasyonunu ekleyin ve iş ihtiyaçlarınıza göre filtre yapılandırmaları ekleyin. Aşağıdaki örnekte nasıl yapılacağı gösterilmektedir. İş ihtiyaçlarınız için gereken durdurma kelimelerini stopwords bölümüne ekleyin.

PUT my-index-000001
{
  "settings": {
    "analysis": {
     "filter": {
      "my_stop": {
       "type": "stop",
       "stopwords": [
        " ",
        ",",
        ".",
        " ",
        "a",
        "of"
       ]
      }
     },
     "analyzer": {
      "my_custom_analyzer": {
       "type": "custom",
       "tokenizer": "aliws_tokenizer",
       "filter": [
        "lowercase",
        "porter_stem",
        "my_stop"
       ]
      }
     }
    }
    }
}
Not

Filtrelere ihtiyacınız yoksa filtre yapılandırmasını kaldırabilirsiniz.

  • aliws_tokenizer, eş anlamlıları kullanarak özel bir tokenizasyon oluşturmayı destekler. Yapılandırması IK tokenizasyonu ile aynıdır. Daha fazla bilgi için bkz. Eş anlamlıları kullanma.

SSS

Başvurular

  • Alibaba Cloud ES tarafından desteklenen eklentileri görüntülemek için bkz. Eklentilere genel bakış.

  • Bir API işlemi çağırarak yerleşik bir eklenti yüklemek için bkz. InstallSystemPlugin.

  • Bir API işlemi çağırarak analysis-aliws eklentisinin sözlük dosyasını güncellemek için bkz. UpdateAliwsDict.

  • Bir API işlemi çağırarak belirtilen bir Alibaba Cloud ES örneği için eklenti listesini almak için bkz. ListPlugins.