ElasticSearch와 NEST를 처음 접하는 새 태어남을 용서하십시오. .NET 솔루션에서 ElasticSearch를 평가하기위한 프로토 타입을 작성 중입니다. 프로토 타입이 컴파일되고 검색하는 것처럼 보이지만 제대로 결과를 반환하지 않습니다. 소문자 만 몇 개의 키워드로 결과를 반환하고 다른 것은 무시하고 아무 것도 반환하지 않습니다. 내 질문에 잘못된 것이 있다고 생각합니다. 다음은 쿼리 부분입니다 (연결 정보 및 기본 인덱스가 지정되고 작성되었다고 가정).NEST 쿼리 문제가있는 ElasticSearch
는// string searchString to be searched against ProductName and Description fields.
var searchResults = client.Search<Product>(s=>s
.From(0)
.Size(100)
.Query(q=>q.Term(p=>p.ProductName, searchString) ||
q.Term(p=>p.Description, searchString)
));
여기에 필요한 경우 모델의 :
[ElasticType(IdProperty = "ProductID")]
public class Product
{
[ScaffoldColumn(false)]
[JsonIgnore]
public int ProductID { get; set; }
[Required, StringLength(100), Display(Name = "Name")]
public string ProductName { get; set; }
[Required, StringLength(10000), Display(Name = "Product Description"), DataType(DataType.MultilineText)]
public string Description { get; set; }
public string ImagePath { get; set; }
[Display(Name = "Price")]
public double? UnitPrice { get; set; }
public int? CategoryID { get; set; }
[JsonIgnore]
public virtual Category Category { get; set; }
}
이 도움을 주셔서 감사합니다!
검색 문자열과 일치하는 제품 이름 및 설명을 사용 하시겠습니까? –
둘 중 하나와 일치 시키길 원합니다. 예, 약간의 변경으로 OR 연산자도 사용했습니다. – Michael
업데이트 : 좋아, 분명히 내가 전에 OR 연산자를 했어. 글자의 대소 문자를 엉망으로 만드는 것 외에는 검색이 더 잘되고 있습니다. "Custom"은 아무것도 반환하지 않지만 "Custom"은 "Kat Custom Car"를 반환합니다 ... – Michael