Couchbase 6.5 Beta Sürümü ile Gelen Sorgu Geliştirmeleri

A. Window Function

RDBMS ANSI standart eşdeğeri pencere fonksiyonları, N1QL kullanarak finansal ve istatistiksel raporlama gibi karmaşık sorguları basitleştirmek için Couchbase’de tanıtıldı. Bu özellik hem Sorgu hem de Analytics hizmetleri için geçerlidir; Sorgu servisi SMP teknolojisinde çalışırken, Analytics servisi bir MPP mimarisinde çalışır.

B. Common Table Expressions (CTE)

Couchbase CTE, geliştiricinin SQL deyimini daha büyük bir sorgu bağlamında kaynak tablo olarak gösterilebilen geçici bir adlandırılmış sonuç kümesine izole edebileceği karmaşık sorguların yönetilebilirliğini geliştirmek için bir başka ANSI CTE dir.

Örnek olarak ;

WITH avgLikeCount AS (
  SELECT VALUE AVG(DISTINCT ARRAY_COUNT(cte.public_likes))
  FROM `travel-sample` AS cte
)
SELECT hotel.name, ARRAY_COUNT(hotel.public_likes) AS likeCount
FROM `travel-sample` AS hotel
WHERE ARRAY_COUNT(hotel.public_likes) > avgLikeCount[0]
LIMIT 5;

C. Query and Search Integration

Couchbase’in güçlü Tam Metin Arama özelliği artık N1QL ile tamamen entegre oldu. Bu özellik, N1QL arama işlevselliğini birden fazla alandaki ve herhangi bir sıradaki bulanık ve kesin olmayan metin aramalarıyla genişletti. Bu, geliştiricilerin ayrı SQL ve arama sorgularından elde edilen sonuçları işlemek ve birleştirmek için karmaşık kod yazmak zorunda olmalarının önüne geçmiş oldu.

Örnek :

SELECT META(t1).id
FROM `travel-sample` AS t1
WHERE SEARCH(t1.country, "United States");

Örnek 2:

SELECT t1.name
FROM `travel-sample` AS t1
WHERE SEARCH(t1, {
  "match": "bathrobes",
  "field": "reviews.content",
  "analyzer": "standard"
});

Diğer örnekler için : https://docs.couchbase.com/server/6.5/n1ql/n1ql-language-reference/searchfun.html

Leave a Reply

Your email address will not be published. Required fields are marked *