2011-10-11 3 views
0

저는 OpenCms로 마운트 된 웹 사이트를 가지고 있으며 "Lucene"을 검색 엔진으로 사용합니다. 내 웹 사이트는 스페인어 (지원됨)와 Gallegan (지원되지 않음)의 두 가지 언어로 제공됩니다. 내 검색 프로세스가 잘 수행되었지만 검색 결과는 항상 스페인어로 표시됩니다. Lucene이 특정 지역에서 결과를 보여줄 수 있습니까?(OpenCms에서) 특정 지역에서 결과를 표시하도록 Lucene을 강제하십시오.

답변

0

검색 인덱스를 만들 때 언어라는 새 필드를 만들 수 있습니다.
해당 필드를 사용하여 검색 결과를 필터링하십시오.

편집

Document doc = new Document(); 
doc.Add(new Field("Language", "GL", Field.Store.NO, 
      Field.Index.NOT_ANALYZED_NO_NORMS)); 
... 

indexWriter.AddDocument(document); 

은 GL에서 상위 10 개 문서를 가져 오기 :

Directory dir = FSDirectory.open(new File("...")); 
IndexSearcher searcher = new IndexSearcher(dir); 
Query q = new TermQuery(new Term("Language", "GL")); 
TopDocs hits = searcher.search(q, 10); 
searcher.close(); 
0

을 전합니다 (백 오피스에서) 검색 인덱스를 만들 때 내가 옵션은 "로케일"내가 할 수있는 불렀다 색인의 로케일을 지정하십시오. 나는 그것을했고 2 개의 분리 된 색인을 만들었다; 하나는 로케일 "es"를 "index-es"라고하고 다른 하나는 로켈 "gl"을 "index-gl"이라고합니다.

내 사용자가 하나의 언어 또는 다른 언어를 사용하지만 작동하지 않든 다른 색인 이름을 "setIndex"함수로 전달합니다. 항상 ES 로켈에서 내용을 표시하십시오.

이것을 참조 하시거나 이해하지 못하셨습니까?

+0

내 편집 된 답변보기 –

관련 문제