Elasticsearch, Java programlama dilinden Apache Lucene kitaplıklarını kullanan ve milyonlarca kişi tarafından kullanılan bir arama motorudur. Kullanıcının analitik veritabanında veri depolamasını sağlar ve kullanıcı ayrıca dizinler oluşturabilir ve bunlarda veri depolayabilir. Kullanıcı ayrıca tablolardan/dizinlerden veri almak için farklı sorgular uygulayabilir ve bu sayede yararlı bilgiler elde edebilir.
Bu kılavuz, Elasticsearch'teki Match ve Boolean sorguları arasındaki farkı açıklayacaktır.
Elasticsearch'teki Eşleşme nedir?
Elasticsearch'teki Match sorgusu, veritabanından veri almak için bir tam metin koşulu içerdiğinden çok basittir. Eşleşme sorgusu, dizinden verileri alır ve onu bir diziye dönüştürür ve ardından istenen anahtar kelimeleri dizinden arar, bu da verileri getirmeyi verimli hale getirir.
Elasticsearch'te Boole değeri nedir?
Elasticsearch'teki Boolean sorgusu, birden çok sorguyu Boolean ifadelerinde birleştirir ve elde edilen belgeyi veritabanından görüntüler. Boole sorgusu, aşağıdaki gibi birden çok yan tümceye sahiptir:
-
- mutlak
- filtre
- meli
- Yapmamalısın
Elasticsearch'te Match ve Boolean Arasındaki Fark Nedir?
Aşağıdaki bölüm, örnekler yardımıyla Match ve Boolean toplama arasındaki farkı açıklamaktadır. Aşağıdaki prosedürü takip edelim:
Elasticsearch ve Kibana'ya bağlanın
Elasticsearch'te Match ve Boolean sorgularını kullanmak için, Elasticsearch'ün bin dizininden terminali açın ve aşağıdaki komutu kullanın:
elastik arama.bat
Bundan sonra, terminali açmak için yerel sistemden Kibana'nın bin dizinine gidin ve aşağıdaki komutu kullanın:
Elasticsearch'te oturum açmak için web tarayıcısında 9200 bağlantı noktası numaralı yerel ana bilgisayarı kullanın:
Kibana kullanıcı arabiriminde oturum açmak için yine web tarayıcısında 5601 bağlantı noktası numaralı yerel ana bilgisayarı kullanın:
“ Geliştirme Araçları Arama çubuğundan Kibana sayfasından konsol:
Eşleşme Sorgusunun Sözdizimi
Verileri getirmek için bir GET isteğiyle Eşleştir sorgusunun temel sözdizimi aşağıdadır:
ELDE ETMEK / _aramak{
'sorgu' : {
'kibrit' : {
'İleti' : {
'sorgu' : 'Bu bir test'
}
}
}
}
Yukarıdaki snippet şunu önermektedir:
-
- Kod bir ile başlar ELDE ETMEK kullanarak istemek Arama API'sı adresinden veri almak için veri tabanı ve kullanıcı ekleyebilir dizin adı GET anahtar sözcüğünden sonra.
- bu sorgu anahtar kelime içerir kibrit alan madde İleti dizinden veya veritabanından ve ardından veri içinde bahsediliyor sorgu sonundaki cümle.
Eşleştirme Sorgusunu Kullan
Bu bölüm, Eşleştirme sorgusunu kullanmanın pratik bir örneğini açıklar ve demo indeksi kullanarak ELDE ETMEK rica etmek:
ELDE ETMEK / demo indeksi / _aramak
Elasticsearch'te Match sorgusunu '' üzerinde gerçekleştirmek için aşağıdaki kodu kullanın. demo indeksi ” üzerine sorgu uygulamak için “ watson ' isim:
{
'sorgu' : {
'kibrit' : {
'isim' : {
'sorgu' : 'Watson'
}
}
}
}
Boole Sorgusunun Sözdizimi
Veritabanından veri çekmek için bir GET isteği içeren Boolean sorgusunun temel sözdizimi aşağıdadır:
ELDE ETMEK / _aramak{
'sorgu' : {
'bool' : {
'madde' : {
'alan' : 'terim'
}
}
}
}
Yukarıdaki snippet şunu önermektedir:
-
- bu ELDE ETMEK request kullanarak dizinden veri almak için kullanılır. arama API'sı .
- bu sorgu anahtar kelime içerir bool içeren sorgu için madde sorguyu dizine veya veritabanına uygulamak için ve ardından veri alınır ve ekranda görüntülenir.
Boole Sorgusu Kullan
Aşağıdaki sorgu, ''dan veri almak için Boolean sorgusunu kullanır. demo indeksi ' kullanmak ' mutlak ” yan tümcesi ve iki “ sorgusunu birleştirmek atama ' ile ' İsim ”:
ELDE ETMEK / demo indeksi / _aramak{
'sorgu' : {
'bool' : {
'mutlak' : [
{
'terim' : {
'Tanım' : 'Her alanda başarılı'
}
} ,
{
'terim' : {
'İsim' : 'Anderson'
}
}
]
}
}
}
Bu kombinasyon, sorguyu dizine uygulamak için bir Boolean ifadesi oluşturacaktır:
Elasticsearch'teki Match ve Boolean sorguları arasındaki farklar bu kadar.
Çözüm
Match ve Boolean, Elasticsearch'te analitik veritabanından veya kullanıcı tarafından oluşturulan dizinden veri almak için kullanılan iki sorgudur. Eşleşme sorgusu, verileri dizilere dönüştürür ve süreci daha verimli hale getirmek için diziden verileri getirir. Boole sorgusu, bir ifade oluşturmak için birden çok sorgu uygular ve verileri getirmek için dizinde bir sorgu uygular. Bu kılavuz, Elasticsearch'te veritabanından veri almak için Match ve Boolean sorguları arasındaki farkları açıkladı.