Bir belgeyi elastik aramada dizine eklemenin en iyi yolunu bulmaya çalışıyorum. Bazı alanlar içeren bir belge doktor var:Elastik aramada iç içe geçmiş türlerle çapraz nesne arama davranışı nasıl önlenir
Doc
created_at
updated_at
field_a
field_b
Ama Doktor ayrıca bireysel kullanıcılara özgü bazı alanları olacaktır. Örneğin, field_x, kullanıcı 1 için 'A' değerine sahip olacaktır ve field_x, kullanıcı 2 için 'B' değerine sahip olacaktır. Her bir doküman için, çok sınırlı sayıda kullanıcı olacaktır (tipik olarak 2, en fazla ~ 10). Bir kullanıcı field_x'de arama yaptığında, onlara ait olan değeri aramalıdır. ES'de yuvalanmış türleri araştırıyorum.
Doc
created_at
updated_at
field_x: [{
user: 1
field_x: A
},{
user: 2
field_x: B
}]
Kullanıcı 1, "A" değeri için field_x üzerinde arama yaptığında, bu dokümanın bir isabetle sonuçlanması gerekir. Ancak, kullanıcı 1 'B' değerine göre arama yapmamalıdır. Ancak
, according to the docs: sorunlardan
Bir dokümana birkaç kez meydana iç nesneleri indeksleme “çapraz nesne” Arama maç bir yolu var mı
oluşacak olmasıdır Bu davranışı iç içe türlerle önlemek veya başka bir tür keşfetmem mi gerekiyor?
Bu tür sorguların performansıyla ilgili ek bilgiler çok değerli olabilir. Sadece dokümanları okumaktan, iç içe geçmiş sorguların, normal sorgularla ilgili performans açısından çok farklı olmadığını belirtmiştir. Eğer bu deneyimin gerçek deneyimi varsa, bunu duymak isterim.
Bu büyük bir cevaptır döndürmez. Tam olarak aradığım şey. İyiliğin için teşekkür ederim. – Brad
Bu eski bir cevaptır, [belgelere bakın] (https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-put-mapping.html) haritalandırma URL'sinin 'http: // localhost: 9200/index/_mapping/type' olarak nasıl değiştirildiği ile ilgili sonraki sürümler için. –