我有一个由elasticsearch支持的本地搜索引擎和一个用于搜索的瘦nodejs API。我希望能够直接从Google Chrome(可从Google,而不是Chromium获取)中搜索这些文档。在这个用例中,我将使用chrome ONLY 与此搜索引擎,所以我不想使用OmniBox关键字搜索API。我想要在Chrome中选择默认搜索引擎时获得与我相同的行为。这是
我通过在设置下添加新的搜索引擎并提供搜索API的URL来获得#2的工作。我不能让#1工作。
我服务器公开的两个网址是:
http://localhost:3000/complete?query=my(这会返回我想在OmniBox中输入时显示的搜索建议列表)。
http://localhost:3000/results?query=my+sample+query(这会将实际搜索结果作为网页返回,这是有效的)
我尝试过的事情:
使用带有OpenSearchDescription.xml链接的window.externals.AddSearchProvider添加了搜索引擎。 XML也有建议网址。
尝试使用OmniBox编写后台扩展,但不允许我在不使用关键字的情况下进行搜索
我搜索了Chromium并找到了这个JSON文件
但我不知道如何使用它(或者甚至可以在官方版本的Chrome中执行此操作)。
答案 0 :(得分:5)
我终于找到了解决方案。
$.validator.addMethod("max-numeric", function(value, element, param) {
var maxValue = $(element).attr("data-max");
return (!maxValue) || maxValue >= value;
}, $.validator.format('Applicants must be older than {0} and younger than {1} years of age'));
$("#data-form").validate({
rules: {
"form.params1.p4":
{
"min-numeric": [5, 6]
}
}
});
文档参考可以用作HTML页面的head部分中的链接。它包含两个URL方案,一个用于搜索结果,另一个用于建议。
详情可在此处找到: Opensearch Document Specs
只要我更新了opensearch.xml
并在Chrome中打开了该页面,Chrome就会自动添加新的搜索引擎。它没有显示设置>下的建议网址管理搜索引擎。
接下来,我点击默认选择我的引擎作为默认搜索引擎!现在,我可以在不使用关键字的情况下查看多功能框中的所有搜索建议。
答案 1 :(得分:0)
Chrome扩展程序的Setting Overrides机制尚未广为人知,可以实现您的目标,但是: