1

Elasticsearch 5.6.3 첨부 파일삽입물을 설치했습니다. 용어 벡터 속성을 첨부 파일 내용에 WithPositionOffsets으로 설정하려고합니다. 내 검색에서 높은 결과를 보려면이 속성을 어디에 설정해야합니까?첨부 파일 내용을 강조하는 탄성 검색 NEST

문서 POCO는 아래와 같다 : 여기서

public class Document 
{ 
    public int Id { get; set; } 
    public string Path { get; set; } 
    public string Content { get; set; } 
    public Attachment Attachment { get; set; } 
} 

가 매핑과 CreateIndex 함수이다.

.Mappings 부분에 나는 FileVield를 사용하여 termvector 및 store 속성을 설정했습니다. 그러나 결과는 다음과 같습니다 :

{ 
"documents": { 
    "mappings": { 
     "document": { 
      "_all": { 
       "enabled": false 
      }, 
      "properties": { 
       "attachment": { 
        "properties": { 
         "author": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         }, 
         "content": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         }, 
         "content_length": { 
          "type": "long" 
         }, 
         "content_type": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         }, 
         "date": { 
          "type": "date" 
         }, 
         "detect_language": { 
          "type": "boolean" 
         }, 
         "indexed_chars": { 
          "type": "long" 
         }, 
         "keywords": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         }, 
         "language": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         }, 
         "name": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         }, 
         "title": { 
          "type": "text", 
          "fields": { 
           "keyword": { 
            "type": "keyword", 
            "ignore_above": 256 
           } 
          } 
         } 
        } 
       }, 
       "content": { 
        "type": "attachment", 
        "fields": { 
         "content": { 
          "type": "text", 
          "store": true, 
          "term_vector": "with_positions_offsets" 
         }, 
         "author": { 
          "type": "text" 
         }, 
         "title": { 
          "type": "text" 
         }, 
         "name": { 
          "type": "text" 
         }, 
         "date": { 
          "type": "date" 
         }, 
         "keywords": { 
          "type": "text" 
         }, 
         "content_type": { 
          "type": "text" 
         }, 
         "content_length": { 
          "type": "integer" 
         }, 
         "language": { 
          "type": "text" 
         } 
        } 
       }, 
       "id": { 
        "type": "integer" 
       }, 
       "path": { 
        "type": "text", 
        "analyzer": "windows_path_hierarchy_analyzer" 
       } 
      } 
     } 
    } 
} 

}

그래서 내 질의 결과의 하이라이트 속성을 볼 수 없습니다. 어떻게해야합니까?

답변

1

ingest-attachment 플러그인을 사용하려면 Attachment 속성을 attachment 데이터 형식으로 매핑하지 마십시오. 이 매핑은 5.x에서는 더 이상 사용되지 않으며 6.x에서는 제거 된 매퍼 - 첨부 파일 플러그인 용입니다.

I wrote a blog post about using ingest-attachment with .NETAttachment에 대한 매핑 예제; 기본적으로 object 데이터 형식으로 매핑하고 이 적용된 text 데이터 형식으로 Content 속성을 매핑합니다. 첨부 파일이있는 문서를 인덱싱하기 전에 색인에서이 매핑을 만들어야합니다.