면 처리 검색 잘못된 결과 :SolrNet - 나는 다음과 같은 클래스를 가지고
public class Product
{
public Product()
{
Categories = new List<Category>();
}
[SolrUniqueKey("id")]
public int Id { get; set; }
[SolrField("name")]
public string Name { get; set; }
[SolrField("cat")]
public virtual List<Category> Categories { get; set; }
}
는 지금은 100 개 제품 SOLR 입력합니다. 제품의 이름은 을 기준으로합니다. testitem [i] 여기서 은 제품 번호입니다. (0-99).
이제는 잘 작동하는 범주에 대해서도 마찬가지입니다. 그러나 이름에 패싯을 묻는다면 다음과 같은 결과를 얻게됩니다.
<int name="testitem">100</int>
<int name="0">1</int>
<int name="1">1</int>
<int name="10">1</int>
<int name="11">1</int>
<int name="12">1</int>
<int name="13">1</int>
<int name="14">1</int>
<int name="15">1</int>
<int name="16">1</int>
etc..
이 부분은 올바르지 않습니다. 예를 들어, 번을 문자열에서 분할합니다. 이상한 일은 이것이 카테고리 패싯에서 발생하지 않는다는 것입니다.
잘못되고있는 사람이 누구인지 아나요/잘못하고 있습니다.
감사합니다. Solr을 처음 접했고 모든 필드도 schema.xml에 지정해야한다는 것을 알지 못했습니다. 내 스키마가 변경되어 이제는 완벽하게 작동합니다. 감사! – Julian
복사 필드를 사용하면 solrnet 클래스에서 선언합니까 ??? 아니면 그냥 스키마에서 변경하고 그것은 작동합니다 .. ?? –
@DharmikBhandari 둘 다 업데이트해야합니다. 스키마에 copyField 지시문을 추가 한 다음 Solr의 결과에서 해당 copyField의 값에 액세스하려면 항목에 표시된대로 모두 캐치 매핑을 사용하지 않는 한 Solrnet 클래스에도이 값을 추가해야합니다 사전 매핑 및 동적 입력란 아래의 http://code.google.com/p/solrnet/wiki/ 매핑을 참조하십시오. –