Apaçi Solr'u

Apache Solr'a Giriş. Bölüm 3 PostgreSQL'e Bağlanma

Apache Solr'a Giriş. Bölüm 3 PostgreSQL'e Bağlanma
Apache Solr [1], Java ile yazılmış ve Lucene arama kitaplığına [6] dayalı bir arama motoru çerçevesidir. Önceki iki makalede, yakında piyasaya sürülecek olan Debian GNU/Linux 11'de Apache Solr'u kurduk, tek bir veri çekirdeği başlattık, örnek veriler yükledik, çıktı verilerinin farklı şekillerde nasıl sorgulanacağını ve işlem sonrası işlemleri gösterdik. o.

Bu, önceki iki makalenin devamı niteliğindeki bir makaledir [2,3]. Şimdiye kadar, indekslenmiş verileri Apache Solr deposuna yükledik ve bununla ilgili verileri sorguladık. Şimdi ilişkisel veritabanı yönetim sistemi PostgreSQL [4]'i Apache Solr'a nasıl bağlayacağınızı ve Solr'un yeteneklerini kullanarak içinde arama yapmayı öğreneceksiniz. Bu, aşağıda daha ayrıntılı olarak açıklanan birkaç adımı gerçekleştirmeyi gerekli kılar - PostgreSQL'i kurmak, PostgreSQL veritabanında bir veri yapısı hazırlamak ve PostgreSQL'i Apache Solr'a bağlamak ve aramamızı yapmak.

Adım 1: PostgreSQL'i Ayarlama

PostgreSQL hakkında - kısa bir bilgi

PostgreSQL ustaca bir nesne-ilişkisel veritabanı yönetim sistemidir. Kullanıma hazırdır ve 30 yılı aşkın süredir aktif olarak geliştirilmektedir. Ingres'in halefi olarak görüldüğü Kaliforniya Üniversitesi'nden kaynaklanmaktadır [7].

En başından beri, açık kaynak (GPL) altında mevcuttur, kullanımı, değiştirilmesi ve dağıtılması ücretsizdir. Endüstride yaygın olarak kullanılmaktadır ve çok popülerdir. PostgreSQL başlangıçta yalnızca UNIX/Linux sistemlerinde çalışacak şekilde tasarlandı ve daha sonra Microsoft Windows, Solaris ve BSD gibi diğer sistemlerde çalışacak şekilde tasarlandı. PostgreSQL'in şu anki gelişimi dünya çapında çok sayıda gönüllü tarafından yapılıyor.

PostgreSQL kurulumu

Henüz yapılmadıysa, PostgreSQL sunucusunu ve istemcisini yerel olarak, örneğin apt kullanarak aşağıda açıklandığı gibi Debian GNU/Linux'a kurun. İki makale PostgreSQL ile ilgili - Yunis Said'in makalesi [5] Ubuntu'daki kurulumu tartışıyor. Yine de, önceki makalem PostgreSQL'in GIS uzantısı PostGIS [6] ile kombinasyonuna odaklanırken yalnızca yüzeyi çiziyor. Buradaki açıklama, bu özel kurulum için ihtiyaç duyduğumuz tüm adımları özetlemektedir.

# apt postgresql-13 postgresql-client-13 yükleyin

Ardından, pg_isready komutunun yardımıyla PostgreSQL'in çalıştığını doğrulayın. Bu, PostgreSQL paketinin bir parçası olan bir yardımcı programdır.

# pg_hazır
/var/run/postgresql:5432 - Bağlantılar kabul edilir

Yukarıdaki çıktı, PostgreSQL'in hazır olduğunu ve 5432 numaralı bağlantı noktasından gelen bağlantıları beklediğini gösteriyor. Aksi ayarlanmadıkça, bu standart yapılandırmadır. Sonraki adım, UNIX kullanıcısı Postgres için parola ayarlamaktır:

# passwd Postgres

PostgreSQL'in kendi kullanıcı veritabanına sahip olduğunu, ancak idari PostgreSQL kullanıcısı Postgres'in henüz bir parolası olmadığını unutmayın. Önceki adım PostgreSQL kullanıcısı Postgres için de yapılmalıdır:

# su - Postgres
$ psql -c "ŞİFRE 'şifre' İLE KULLANICI Postgreslerini DEĞİŞTİRİN;"

Basit olması için, seçilen parola yalnızca bir paroladır ve test dışındaki sistemlerde daha güvenli bir parola ifadesi ile değiştirilmelidir. Yukarıdaki komut, PostgreSQL'in dahili kullanıcı tablosunu değiştirecektir. Farklı tırnak işaretlerinin farkında olun - kabuk yorumlayıcısının komutu yanlış şekilde değerlendirmesini önlemek için parola tek tırnak içinde ve SQL sorgusu çift tırnak içinde. Ayrıca, komutun sonundaki çift tırnak işaretinden önce SQL sorgusundan sonra bir noktalı virgül ekleyin.

Ardından, idari nedenlerle PostgreSQL'e önceden oluşturulmuş parolayla Postgres kullanıcısı olarak bağlanın. Komuta psql denir:

$ psql

Apache Solr'dan PostgreSQL veritabanına bağlanma, solr kullanıcısı olarak yapılır. Öyleyse, PostgreSQL kullanıcı solr'ını ekleyelim ve tek seferde ona karşılık gelen bir solr şifresi belirleyelim:

$ ŞİFRE İLE KULLANICI solr OLUŞTUR 'solr';

Basit olması için, seçilen parola sadece solr'dur ve üretimde olan sistemlerde daha güvenli bir parola ifadesi ile değiştirilmelidir.

Adım 2: Bir veri yapısının hazırlanması

Verileri depolamak ve almak için ilgili bir veritabanına ihtiyaç vardır. Aşağıdaki komut, solr kullanıcısına ait olan ve daha sonra kullanılacak arabaların bir veritabanını oluşturur.

$ SAHİBİ İLE VERİTABANI ARAÇ CREATE = solr;

Ardından, yeni oluşturulan veritabanı araçlarına kullanıcı solr olarak bağlanın. -d seçeneği (-dbname için kısa seçenek) veritabanı adını ve -U (-username için kısa seçenek) PostgreSQL kullanıcısının adını tanımlar.

$ psql -d arabalar -U solr

Boş bir veritabanı kullanışlı değildir, ancak içeriği olan yapılandırılmış tablolar işe yarar. Masa arabalarının yapısını aşağıdaki gibi oluşturun:

$ TABLO OLUŞTUR arabalar (
id int,
varchar yap(100),
model varchar(100),
açıklama varchar(100),
renk varchar(50),
fiyat int
);

Tablo arabaları altı veri alanı içerir - id (tamsayı), make (100 uzunluğunda bir dize), model (100 uzunluğunda bir dize), açıklama (100 uzunluğunda bir dize), renk (50 uzunluğunda bir dize) ve fiyat (tam sayı). Bazı örnek verilere sahip olmak için, aşağıdaki değerleri SQL ifadeleri olarak tablo arabalarına ekleyin:

$ INSERT INTO arabalar (kimlik, marka, model, açıklama, renk, fiyat)
DEĞERLER (1, 'BMW', 'X5', 'Harika araba', 'gri', 45000);
$ INSERT INTO arabalar (kimlik, marka, model, açıklama, renk, fiyat)
DEĞERLER (2, 'Audi', 'Quattro', 'yarış arabası', 'beyaz', 30000);

Sonuç, havalı bir araba olarak tanımlanan 45000 USD'ye mal olan gri bir BMW X5'i ve 30000 USD'ye mal olan beyaz bir yarış arabası Audi Quattro'yu temsil eden iki giriştir.

Ardından, \q kullanarak PostgreSQL konsolundan çıkın veya çıkın.

$ \q

Adım 3: PostgreSQL'i Apache Solr ile Bağlama

PostgreSQL ve Apache Solr'un bağlantısı iki yazılım parçasına dayanır - PostgreSQL için Java Veritabanı Bağlantısı (JDBC) sürücüsü olarak adlandırılan bir Java sürücüsü ve Solr sunucu yapılandırmasının bir uzantısı. JDBC sürücüsü, PostgreSQL'e bir Java arabirimi ekler ve Solr yapılandırmasındaki ek giriş, Solr'a JDBC sürücüsünü kullanarak PostgreSQL'e nasıl bağlanacağını söyler.

JDBC sürücüsünün eklenmesi, kullanıcı kökü olarak aşağıdaki gibi yapılır ve JDBC sürücüsünü Debian paket deposundan yükler:

# apt-get kurulumu libpostgresql-jdbc-java

Apache Solr tarafında da buna karşılık gelen bir düğüm bulunmalıdır. Henüz yapılmadıysa, UNIX kullanıcısı solr olarak, düğüm arabalarını aşağıdaki gibi oluşturun:

$ bin/solr -c araba oluştur

Ardından, yeni oluşturulan düğüm için Solr yapılandırmasını genişletin. Aşağıdaki satırları /var/solr/data/cars/conf/solrconfig dosyasına ekleyin.xml:

db-data-config.xml

Ayrıca, bir dosya oluşturun /var/solr/data/cars/conf/data-config.xml oluşturun ve aşağıdaki içeriği içinde saklayın:

Yukarıdaki satırlar önceki ayarlara karşılık gelir ve JDBC sürücüsünü tanımlar, PostgreSQL VTYS'ye bağlanmak için 5432 portunu ilgili şifre ile kullanıcı solr olarak belirtin ve PostgreSQL'den yürütülecek SQL sorgusunu ayarlayın. Basit olması için, tablonun tüm içeriğini alan bir SELECT ifadesidir.

Ardından, değişikliklerinizi etkinleştirmek için Solr sunucusunu yeniden başlatın. Kullanıcı kökü olarak aşağıdaki komutu yürütün:

# systemctl solr'ı yeniden başlat

Son adım, örneğin Solr web arayüzünü kullanarak verilerin içe aktarılmasıdır. Düğüm seçim kutusu, düğüm arabalarını seçer, ardından Dataimport girişinin altındaki Düğüm menüsünden, ardından Komut menüsünden tam içe aktarma seçimini yapar. Son olarak, Yürüt düğmesine basın. Aşağıdaki şekil, Solr'un verileri başarıyla indekslediğini göstermektedir.

Adım 4: DBMS'den veri sorgulama

Önceki makale [3], verileri ayrıntılı olarak sorgulama, sonucu alma ve istenen çıktı biçimini (CSV, XML veya JSON) seçme ile ilgilidir. Verilerin sorgulanması, daha önce öğrendiklerinize benzer şekilde yapılır ve kullanıcı tarafından herhangi bir fark görülmez. Solr, perde arkasındaki tüm işleri yapar ve seçilen Solr çekirdeği veya kümesinde tanımlandığı şekilde bağlı PostgreSQL VTYS ile iletişim kurar.

Solr'un kullanımı değişmez ve sorgular Solr yönetici arayüzü veya komut satırında curl veya wget kullanılarak gönderilebilir. Solr sunucusuna belirli bir URL ile bir Alma isteği gönderirsiniz (sorgulama, güncelleme veya silme). Solr, DBMS'yi bir depolama birimi olarak kullanarak talebi işler ve isteğin sonucunu döndürür. Ardından, yanıtı yerel olarak sonradan işleyin.

Aşağıdaki örnek, “/select” sorgusunun çıktısını göstermektedir?q=*. *” Solr yönetici arayüzünde JSON formatında. Veriler, daha önce oluşturduğumuz veritabanı arabalarından alınır.

Sonuç

Bu makale, Apache Solr'dan bir PostgreSQL veritabanının nasıl sorgulanacağını gösterir ve ilgili kurulumu açıklar. Bu dizinin sonraki bölümünde, birkaç Solr düğümünü bir Solr kümesinde nasıl birleştireceğinizi öğreneceksiniz.

Yazarlar hakkında

Jacqui Kabeta çevreci, hevesli bir araştırmacı, eğitmen ve akıl hocasıdır. Birkaç Afrika ülkesinde BT endüstrisinde ve STK ortamlarında çalıştı.

Frank Hofmann bir BT geliştiricisi, eğitmeni ve yazarıdır ve Berlin, Cenevre ve Cape Town'da çalışmayı tercih eder. dpmb'den edinilebilen Debian Paket Yönetim Kitabının ortak yazarı.kuruluş

Bağlantılar ve Referanslar

Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...
Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...