내가 이런 식으로 색인하고 문서의 목록이 있습니다ElasticSearch 최고 단어에서 필터 정지 단어
[Keyword]
public List<string> Keywords { get; set; }
: 내 수업
AlbumMetaData에서
ElasticIndex.CreateIndex(IndexName, _ => _
.Mappings(__ => __
.Map<AlbumMetadata>(
M => M.AutoMap()
.Properties(P => P.Text(T => T.Name(N => N.Keywords)
.Analyzer("stop")
.Fields(F => F.Keyword(K => K.Name("keywords"))))))));
을, 필드 키워드 목록입니다
맨 위 용어를 검색하려면 다음 쿼리를 수행하십시오 (범주 및 유형은 문제가되지 않습니다) :
var Match = Driver.Search<AlbumMetadata>(_ => _
.Query(Q => Q
.Term(P => P.Category, (int)Category) && Q
.Term(P => P.Type, (int)Type))
.Source(F => F.Includes(S => S.Fields(L => L.Keywords)))
.Aggregations(A => A
.Terms("Tags", T => T
.Field(E => E.Keywords)
.Size(Limit)
)
));
var Tags = Match.Aggs.Terms("Tags").Buckets.ToDictionary(K => K.Key, V => V.DocCount);
문제는 출력에, 나는, 일부 중지 단어뿐만 아니라 일부 기호를 얻을 수 있다는 것입니다 /와 같은 - & |
내가 뭘 잘못하고 있니?
편집 : 때로는 하나의 단어의
내가 제목 (전체 영어 문장)이 문서와 태그가(목록 : 질문을 명확히하기 위해 , 여기에 내가 달성하기 위해 노력하고있는 무슨이다 태그는 2 단어 태그입니다).
제목과 태그를 기반으로 문서를 찾을 수 있어야합니다 (이상적으로는 단어 줄기 사용, 복수형 무시 등). 또한 상위 단어 목록을 추출해야합니다. 키워드 목록은 제목의 모든 단어와 태그 목록의 모든 항목을 연결 한 것입니다.
이 컨텍스트에서 적절한 색인을 만드는 방법은 무엇입니까? 또한, 내가 올바른 방식으로 집계를하는 방법입니까?
고마워요 러스; 그것은 나를 위해 몇 가지를 명확히하고 있습니다. 필자는 문서를 색인화하는 방법이 그 맥락에서 의미가 있는지 궁금해하기 때문에 달성하려는 것을 설명하기 위해이 질문을 편집했습니다. 또한 노말 라이저에 대해 읽었을 때 실제로 사용할 수있는 것 같습니다. 네스트와 함께 사용되는 방법에 대한 참조가 있습니까? – Thomas
'normalizer'에 대한 서면 참조가 없습니다. 근원을보십시오; 다음은 노말 라이저를 설정하는'keyword' 데이터 유형에 대한 테스트입니다 : https://github.com/elastic/elasticsearch-net/blob/5.x/src/Tests/Mapping/Types/Core/Keyword/KeywordPropertyTests.cs# L22 및 정적 메서드 호출 https://github.com/elastic/elasticsearch-net/blob/5.x/src/Tests/Analysis/Normalizers/NormalizerUsageTests.cs#L34-L42. 기본적으로 노말 라이저는 분석기와 비슷하지만 하나의 토큰/용어 만 출력하는 것으로 제한됩니다 ** –
이렇게 정확하게 이해한다면 : 키워드를 텍스트 검색 및 매핑을위한 텍스트로 매핑합니다. 또한 태그 집계를위한 키워드 유형입니다 이것은 예상대로입니다. keyword.keyword 하위 필드 개념을 이해할 수 없습니까? 사실이 코드는 다른 스레드에서 나에게 준 도움을 기반으로했습니다 (http://stackoverflow.com/questions/41903195/elasticsearch-c-sharp-nest-getting-top-words-with-5-1?rq=1).)하지만 나는 여전히 Nest의 관점과 문서에서 보았 기 때문에 아마 Elastic의 용어 등과 매우 혼동 스럽다. – Thomas