2013-03-23 3 views
1

사용자 정의 색인과 함께 Sitecore Search를 사용하여 항목을 필터링하고 검색하려고합니다.사용자 정의 색인으로 Sitecore 검색

이 항목은 제품 리뷰이며 모두 ProductReview 템플릿이있는 단일 폴더에 저장됩니다.

+ Reviews 
    - Sample Review 1 
    - Sample Review 2 
    - Sample Review 3 

사용자는 범주, 하위 범주 및 제품 이름별로 검색하여 항목을 필터링 할 수 있습니다. 따라서 양식은 다음과 비슷하게 보입니다.

Category:  [ Drop Down ] 
Sub Category: [ Drop Down ] 
Product name: [ Single line of Text ] 

[ Search Button ] 

색인을 매우 얇게 정의하는 문서를 찾고 있습니다. 다음 속성을 사용하여 인덱스를 설정하려고합니다.

  • 그들은 모두를있는 한 그것은 단지 그 세 필드를 포함해야한다
  • 인덱스 웹 데이터베이스 I 색인됩니다 검토 템플릿을 기반으로
  • 항목 만이 필요합니다
  • 두 범주는 돈 필드 '는 t는

나는 사용자 정의 분석이 필요하거나 DatabaseCrawler 내가 하 있는지 확실하지 않습니다 당신은 카테고리 필드를 필터링 할 수 있습니다

  • 을 tokenised해야 전혀 만들지 않을거야.

    이것은 내가 지금까지, 그러나 나는 아직 작업 인덱스를 생성하지 않은 것입니다 :

    <index id="reviews" type="Sitecore.Search.Index, Sitecore.Kernel"> 
    
        <param desc="name">$(id)</param> 
        <param desc="folder">reviews</param> 
        <Analyzer ref="search/analyzer" /> 
    
        <include hint="list:IncludeField"> 
         <!-- Category --> 
         <fieldId>Category</fieldId> 
    
         <!-- Sub Category --> 
         <fieldId>Sub Category</fieldId> 
    
         <!-- Product Name --> 
         <fieldId>Product Name</fieldId> 
    
        </include> 
    
        <locations hint="list:AddCrawler"> 
         <web type="Sitecore.Search.Crawlers.DatabaseCrawler, Sitecore.Kernel"> 
          <Database>web</Database> 
    
          <!-- {GUID} --> 
          <Root>{GUID}</Root> 
    
          <Tags>web reviews</Tags> 
          <IndexAllFields>false</IndexAllFields> 
    
          <templates hint="list:AddTemplate"> 
    
           < !-- Product Review -- > 
           <reviews>Product Review</reviews> 
    
          </templates> 
         </web> 
        </locations> 
    
    </index>  
    

    모든 포인터는 크게 감상 할 수있다.

    편집

    내가 찾고 두 가지 주요 가지가있다 :

    • 방법을 토큰 화하지 않고 인덱스 범주 필드를합니다.
    • Lucine.net API를 사용하여 필터링하는 방법.
  • +0

    처음에는 Sitecore Index Viewer 응용 프로그램에서 색인을 검사하고 다시 작성하기를 원합니다. http://marketplace.sitecore.net/en/Modules/Index_Viewer.aspx 또한 "IndexAllFields"노드를 true로 설정하고 나서 {GUID}을 Reviews 폴더의 ID로 채우는 작업을 시작하는 데 도움이 될 수 있습니다. –

    +0

    @patrickmjones하지만 필터링을 허용하지 않습니까? –

    +1

    필터링을 통해 정확히 무엇을 의미하는지 더 설명 할 수 있습니까? 이 필드에 대해 쿼리하는 방법을 찾고 계십니까? Lucene API, Sitecore.Search API 또는 SitecoreSearchContrib API를 사용하여이 작업을 직접 수행 하시겠습니까? – techphoria414

    답변

    4

    SitecoreSearchContrib (고급 데이터베이스 크롤러라고도 함) 라이브러리를 사용하면 색인 생성과 검색 모두에서 훨씬 편리해집니다. 이 라이브러리에는 예제 설정이 포함되어있어 어떻게 설정해야하는지 명확하게 알 수 있습니다.

    일부 초기 포인터, 당신은 SitecoreSearchContrib를 사용하지 않는 경우에도 :이 기능은 미리보기 모드에서 작동하도록

    • 당신은뿐만 아니라 인덱스 마스터 할 것입니다. 위의 라이브러리는 코드가 실행되는 컨텍스트를 기반으로 올바른 데이터베이스를 자동으로 검색합니다.
    • 템플릿에 포함되는 템플릿 GUID는 템플릿 GUID 여야합니다.
    • 필드 흠도 GUID이어야합니다.
    +0

    +1 - 고급 데이터베이스 크롤러의 이름이 변경된 것을 알지 못했습니다. –

    +0

    필터링을 통해 세부 사항을 추가 할 수 있습니까? lucene.net API로 필터링하는 예제가 있습니까? –

    +0

    필터를 쿼리 기준으로 추가하는 것 외에 다른 의미가 있습니까? 질문을 편집하여 구체적으로 찾고있는 것을 명확히 할 수 있습니까? Sitecore.Search 또는 SitecoreSearchContrib API를 사용하여 expamples를 원하십니까? – techphoria414