2016-08-09 15 views
0

MarkLogicデータベースの提案機能をJavaクライアントAPIと併用したいと考えています。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

ソリューションは、2つの可能な(かつ実用的)なアイデア伝わってきます!

「xml:lang」属性のタグが付けられた要素を指し示すフィールド(ソース)は、「書籍」と呼ばれる提案の呼び出しより英語の提案とドイツ語の "Bücher"ドイツの提案だけを返します。

唯一の例外は、英語のタグ付き要素にドイツ語のテキストがある場合です。これは偽陽性につながる可能性があります。

その他の考え:「書籍」のような候補を検索し、ドイツ語に検索言語を設定すると、何も返されません。

結論:特定の言語での検索は複雑なトピックです。ユーザーがどのように検索したいのか、アプリケーションの仕組みに依存します。

P.S:今のところ問題を無視するために2番目のソリューションを使用しました。

1

はおそらく、あなたはJavaのAPIドキュメントで定義された動的なクエリオプションの使用を探しています:さらに

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

、あなたも登録することができます複数のクエリオプションファイルを使用し、各言語に1つずつ使用します。どちらの

示唆されているように、言語ごとに複数の照会オプション・ファイルを作成します(言語ごとの追加、インデックス)、または単に問題を無視:

関連する問題