2016-08-09 4 views
0

Java 클라이언트 API와 함께 MarkLogic 데이터베이스의 제안 기능을 사용하고 싶습니다.MarkLogic - 추천 언어 전환 방법

문제는 제안 전화를하려면 제안 소스로 사용되는 입력란이나 필드가 필요하다는 것입니다. 다음 단계는이 제안 소스를 참조하는 쿼리 옵션을 만드는 것입니다. 마지막 단계는 다음과 같습니다.

SuggestionDefinition def = marklogicClient.newQueryManager().newSuggestionDefinition(); 
def.setLimit(10); 
def.setOptionsName("my-query-options"); 
def.setStringCriteria("Test"); 
//setup lang? 

질문 : 언어를 전환하는 방법은 무엇입니까? 프론트 엔드를 독일어와 영어로 전환 할 수 있다면 검색/언어를 변경해야합니다. 이 작업을 수행하려면 데이터 정렬을 전환해야하지만 어떻게해야합니까? 어떤 도움 진보에

<default-suggestion-source> 
    <word collation="http://marklogic.com/collation/de"> 
     <field name="my-suggest" /> 
    </word> 
</default-suggestion-source> 

감사 :

쿼리 옵션 같은 것을 포함, 업로드 후 정적!

안부,

Zipunrar 아마도

답변

1

이 솔루션은 두 가지 (실용적인) 아이디어를 통해 제공 :

어느 쪽의 제안 (언어 당 추가 인덱스)하거나 문제를 무시로 언어 당 하나 개 이상의 쿼리 옵션 파일을 작성!

제안서 (소스)가 다른 xml : lang 속성으로 태그 지정된 요소를 가리키는 경우 "books"라고 말한 제안 전화가 영어 제안과 독일어 "Bücher" 독일어 제안 만 반환합니다.

유일한 예외는 영어 태그가 지정된 요소에 독일어 텍스트가있는 경우입니다. 이로 인해 가양 성이 발생할 수 있습니다.

추가 생각 : "책"과 같은 제안을 검색하고 검색 언어를 독일어로 설정하면 아무 것도 반환하지 않습니다.

결론 : 특정 언어로 검색하는 것은 복잡한 주제입니다. 사용자가 검색하는 방법과 응용 프로그램의 작동 방식에 따라 다릅니다.

P .: 이제 문제를 무시하기 위해 두 번째 솔루션을 사용했습니다.

1

자바 API 문서에 정의 된 동적 쿼리 옵션의 사용을 찾고 있습니다 : 또한

https://docs.marklogic.com/guide/java/searches#id_76144

, 당신은 또한 등록 할 수 있습니다 둘 이상의 질의 옵션 파일을 사용하고 각 언어에 대해 하나씩 사용하십시오.