NHibernate.Search를 다국어 웹 사이트에 통합하려고합니다. 이제이 웹 사이트에는 다국어 인 Article
클래스가 있습니다. 이 작업은 언어 별 콘텐츠를 저장하는 별도의 클래스 인 Article_CultureInfo
을 사용하여 수행됩니다. I 필드/문서 정보를 매핑하는 Nhibernate.Search.Mapping
을 사용하고nhibernate.search/lucene.net 다국어 분석기
Article_CultureInfo
-------
ID
ArticleId
CultureCode
PageTitle
Content
: Article
의 필드
Article
-------
ID
Name
그리고 Article_CultureInfo
이 있습니다. 가능한 경우 언어를 기반으로 형태소 분석 및 동의어 분석과 같은 검색 기능을 통합하고자합니다. 런타임에 Lucene Analyzer를 지정할 수 있습니까? 컴파일/초기화하지 마십시오.
각 Lucene 색인에 저장 될 PageTitle
의 콘텐츠를 분석한다고 가정 해보십시오.이 콘텐츠는 CultureCode
값을 기반으로 영어, 프랑스어, 이탈리아어 등이 될 수 있습니다. 따라서 분석기는이 값에 따라 변경해야합니다. 나는 사용자 정의 MultilingualAnalyser
을 구현하려고 시도했지만, 나에게 사용할 수있는 유일한 데이터는 분석 할 문자열, 즉 PageTitle
의 값입니다. 그 것에서 만 나는 언어를 추론 할 수 없다. (언어 탐지 기술을 살펴볼 수는 있지만, 그것이 무엇인지 정확히 알고 있기 때문에 범위를 벗어난다. 100 % 신뢰하지 못하고 잔인 함을 느낄 것이다.)
토큰과 떨어져 있다면, 인스턴스의 인스턴스, 나는 그것 밖으로 CultureCode
가치를 얻을 수있을 수 있고 그에 따라 분석. 어떤 아이디어라도 크게 평가 될 것입니다. NHibernate.Search가 매우 잘 통합 된 것처럼 보이기 때문에 Lucene.Net을 직접 사용하는 것을 피하고 싶습니다.
감사합니다.