我想将MarkLogic数据库的建议功能与Java Client API结合使用。
问题在于,做一个建议通话我需要一个字段或者作为建议来源的东西。下一步是创建引用此建议源的查询选项。最后一步是致电:
lblerrortoday
问题是:如何切换语言? 如果我的前端可以在德语和英语之间切换,那么我必须切换搜索/建议语言。为了做到这一点,我必须切换整理,但如何?
上传后查询选项是静态的,包含以下内容:
SuggestionDefinition def = marklogicClient.newQueryManager().newSuggestionDefinition();
def.setLimit(10);
def.setOptionsName("my-query-options");
def.setStringCriteria("Test");
//setup lang?
感谢先进的任何帮助!
致以最诚挚的问候,
Zipunrar
答案 0 :(得分:1)
也许您正在寻找使用java API文档中定义的动态查询选项:
https://docs.marklogic.com/guide/java/searches#id_76144
此外,您还可以注册多个查询选项文件,并为每种语言使用一个。
答案 1 :(得分:1)
解决方案来自两个可能的(和实际的)想法:
根据建议为每种语言创建多个查询选项文件(以及每种语言的其他索引)或者忽略该问题!
如果建议背后的字段(来源)指向标有不同xml:lang属性的元素,那么使用说“books”的建议调用将仅返回英语建议并且使用德语“Bücher”进行调用将只返回德国人的建议。
唯一的例外是英语标记元素中是否有德语文本。这可能会导致误报。
额外的想法:搜索“书籍”之类的建议并将搜索语言设置为德语将不会返回任何内容。
结论:在特定语言下搜索是一个复杂的主题。这实际上取决于用户想要搜索的方式以及应用程序的工作方式。
P.S:我现在使用第二种解决方案忽略了这个问题。