- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Heroku 上部署了一个 Ruby/Sinatra 应用程序,我正在使用 IndexTank 插件来提供全文搜索功能。
我目前正在根据 IndexTank Autocomplete Documentation 使用开箱即用的自动完成功能
目前我已经为我的文档编制了索引,这样默认的 :text 字段包含文档的城市名称和国家/地区名称。即:
@index.document("1").add({:text => "London England"})
当我在默认的自动完成字段中进行搜索时,它确实有效并返回结果,但不是我所期望或喜欢的结果。
当我在字段中输入“lon”时,它会返回“london”。这确实是正确的文档,但我希望它实际上会返回“英国伦敦”。
有谁知道我如何修改自动完成字段下拉列表中呈现的数据,以便在我搜索“lon”时显示“London England” ?
更新
我也试过 InstantLinks评论中建议的功能,但这也不是完全做我需要做的。似乎这两种解决方案都可以完成我需要的大约 80%,但不幸的是我还需要一些额外的东西。
有关 InstantLinks 的两件事不能按我的需要工作:
虽然我可以从索引中选择要在下拉列表中显示的字段(这是我无法使用自动完成功能执行的操作),但当我使用箭头键选择下拉列表中的选项时,所选选项不会显示在文本字段中。
当我从下拉列表中选择一个条目时,我被带到另一个页面,该页面的 URL 应该是从索引中提取的。我只想将所选条目的值填充到原始文本字段中。
因此,不幸的是,我看不到 InstantLinks 如何为我提供我所追求的功能。
最佳答案
好吧,我终于找到了解决问题的方法,但是,我无法使用 IndexTank 提供的自动完成功能或 InstantLinks 功能。
简而言之,我所做的是使用开箱即用的 jQuery 自动完成小部件(我知道 IndexTank 自动完成在幕后使用)来调用我创建的查询 IndexTank 索引的 restful 服务。
首先,我在我的 Sinatra 应用程序中创建了 restful 服务
get '/index/' do
term = params['term']
#Query IndexTank index using the IndexTank::Client
#Parse index search results and return an array of the suggestions as JSON
end
接下来,我使用 jQuery 自动完成小部件将我的 restful 服务用作远程源。首先是我的 HTML 输入:
<form id="search_form" action="/" method="POST">
<input id="search_field" name="search_field" type="text">
</form>
然后将自动完成小部件绑定(bind)到输入的 javascript:
$(document).ready(function(){
$("#search_field").autocomplete({
source: function(request, response) {
$.ajax({
url: "/index/",
dataType: 'json',
data: { term: request.term },
success: function(data) {
response($.map(data, function(item) {
return {label: __highlight(item, request.term),
value: item};
}));
}
});
},
minLength: 2
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
// only change here was to replace .text() with .html()
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( $( "<a></a>" ).html(item.label) )
.appendTo( ul );
};
});
function __highlight(s, t) {
var matcher = new RegExp("("+$.ui.autocomplete.escapeRegex(t)+")", "ig" );
return s.replace(matcher, "<strong>$1</strong>");
}
这就是一个自动完成字段,它查询 IndexTank 索引并在建议下拉列表中显示所需的索引字段。
关于ruby - IndexTank 自动完成 : modifying the autocomplete field text for each result returned,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818928/
我有一个表,其中包含带有订单字段的项目,我用这些字段将它们画在树上。 CREATE TABLE items ( menuId INTEGER, itemId INTEGER,
我正在关注这个 YouTube他们使用的教程Modifier.preferredSize()在一个盒子上和 Modifier.preferredHeight()在 Spacer Composable
当删除包含 UserSession.insert 的 if 语句时,一切正常。但是当它被包含时,我们会收到有关无效修饰符的错误。 出了什么问题?谢谢! 服务器/helpers/b.s Meteor.s
我已经为我的 Android 项目构建了一个注释处理器,它使用 JavaPoet 构建了一个源文件。但是,每次我需要对任何 JavaPoet 对象调用 addModifiers 时,Android S
我应该在哪里设置像 CreatedDate、CreatedBy、ModifiedDate、ModifiedBy 这样的字段?我应该将当前用户上下文传递到存储库并将其设置在那里,还是更好的方法是在应用程
我可以以某种方式重构以下代码片段以摆脱 双修饰符声明 ? .block { &__element { rule: value; } &--modifier { rule:
我正在编写一个函数,它接受一个谓词 p 和一个列表。它返回 ([value],[state]),其中第一个列表包含通过 p 的元素,第二个列表包含未通过的元素。但是,当我运行 runState (my
在我的项目中,我使用了 Typescript@4.0.3它运行良好,但现在我将其版本更新为最新 Typescript@4.1.3它给了我很多错误。我无法在文档中找到任何内容,也没有任何想法如何解决此问
我正在开发一个通过表单发送数据的 Rails 应用程序。我想在表单发送之后,但在它被处理之前修改表单的一些“参数”。 我现在拥有的 {"commit"=>"Create", "authentici
我的问题是关于接口(interface)。我创建了一个接口(interface)并定义了四个方法:第一个方法是 private 方法;第二个是 default 方法;第三个是static方法;第四个是
好的,所以我当前正在尝试选择目录中的最新文件(本例中为/FSTP/LOGS),但我想忽略包含字符串“DEBUG - null”但不是字符串的任何文件“DEBUG - MA”或“INFO - MA”。这
正是标题所说的。 Modifier.heightIn(...) 和有什么区别和 Modifier.prefferedHeigh() .在我的试验中,它们似乎以相同的方式工作。有谁知道何时使用什么以及在
我在项目中使用 Android Volley Networking 库。 当我自己将带有 etag 的“if-None-Match”添加到 header 时,我没有得到 304,因为 Volley 还
我一直在阅读一些关于在从服务器发送响应时为 Last-Modified 设置 header 的文章。我了解它的用途,以及如何设置它等。 我也理解传入的 If-Modified-Since header
我一直在浏览 Ivy 文档,但我对默认 ivysettings.xml 有疑问在 ivy.jar 中找到。 我要做的就是将公共(public)存储库更改为我们拥有的本地 Maven 存储库。就是这样。
我是 Ruby 新手。这是一个使用任何语言的编程面试问题。我正在尝试用 Ruby 来做。 编写一个程序来输入给定的句子。用单词的第一个字母/#ofcharactersbetween1st&laSTLe
我收到以下代码A的警告信息,为什么? 可选的 Modifier 参数应具有默认值 Modifier 代码A @Composable fun DisplayIcon( modifier: Mod
假设我想创建一个 Column与最宽的 child 一样宽Text在里面。为此,该列可以使用 .wrapContentWidth() 修饰符或 .width(IntrinsicSize.Max) ,但
我正在尝试用 Javascript 编写实现图形(数据结构)。为此,我有一个名为 Graph 的函数将该矩阵存储在名为 this.adjMatrix 的属性中的二维数组中。它还有很多方法。 我还想创建
即使在 Google PageSpeed(97) 和 Yahoo! YSlow(92) PHP 生成的缩略图似乎并不是被动地从旧缓存中获取的:它们似乎每次都生成......又一次......新鲜出炉,
我是一名优秀的程序员,十分优秀!