我已经完成了这个http://stackoverflow.com/questions/35053454/android-app-indexing-api-description-field .它讨论了 App Indexing api 中 description 字段的使用。在调用此 api 时,我同时设置了 title 和 description 字段。下面是示例代码
Thing object = new Thing.Builder()
.setName(title)
.setUrl(uri)
.setDescription(description)
.build();
return new Action.Builder(Action.TYPE_VIEW)
.setObject(object)
.setActionStatus(Action.STATUS_TYPE_COMPLETED)
.build();
但是当我使用谷歌应用程序搜索并输入 title 中的关键字时,我能够看到自动完成结果。但是,如果我键入 description 字段中存在的关键字,我将无法获得自动完成结果。那么如何将description字段的内容获取到app index呢?
因为这是一个新闻阅读应用程序。所以我将描述设置为新闻内容的第一段。第一段可以长达 500 个字符。对于我们传递给描述字段的内容长度有什么建议吗?
最佳答案
我尝试了一个实验,试图看看描述中的术语是否有所不同:
1-我把包括描述在内的所有内容都放在标题中:
Thing object = new Thing.Builder()
.setName(title + " " + description)
.setUrl(uri)
.build();
我可以搜索标题和/或描述中的所有内容。
2-我按照文档做了所有的事情,但没有描述:
Thing object = new Thing.Builder()
.setName(title)
.setUrl(uri)
.build();
我可以搜索标题中的所有内容,但无法在搜索结果中找到描述中的术语。
3-我按照文档做了所有事情,这次还添加了描述:
Thing object = new Thing.Builder()
.setName(title)
.setDescription(description)
.setUrl(uri)
.build();
结果与案例2相同;找不到描述中但标题中没有的任何术语。
4-我按照文档做了所有事情,这次添加了一个虚拟但独特的描述:
Thing object = new Thing.Builder()
.setName(title)
.setDescription("askdf asdfm askdfssdf")
.setUrl(uri)
.build();
搜索该独特描述未找到该应用。
根据这个实验,我不认为描述是搜索的一部分(或者可能只以次要方式使用)。我的建议是,在有更改之前,如果您也需要对描述术语进行索引,则将描述添加到应用索引的标题中(如上面的案例 1)。现在,公平地说,在许多情况下,这可能会导致命中率过于宽泛。我怀疑这可能与当前的实现有关。
关于android - Google App Indexing 不适用于描述字段,但适用于标题字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37408909/
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss
我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢
我知道我可以指定某些字段来使用pluck查询数据库。ids=Item.where('due_at但是我想知道,是否有一种方法可以指定我想避免从数据库查询的某些字段。某种反拔?posts=Post.where(published:true).do_not_lookup(:enormous_field) 最佳答案 Model#attribute_names应该返回列/属性数组。您可以排除其中一些并传递给pluck或select方法。像这样:posts=Post.where(published:true).select(Post.attr
我有一张背景图片,我想在其中添加一个文本框。我想弄清楚如何将标题放置在其顶部的正确位置。(我使用标题是因为我需要自动换行功能)。现在,我只能让文本显示在左上角,但我需要能够手动定位它的开始位置。require'RMagick'require'Pry'includeMagicktext="Loremipsumdolorsitamet"img=ImageList.new('template001.jpg')img 最佳答案 这是使用convert的ImageMagick命令行的答案。如果你想在Rmagick中使用这个方法,你必须自己移植
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
当我使用has_one时,它工作得很好,但在has_many上却不行。在这里您可以看到object_id不同,因为它运行了另一个SQL来再次获取它。ruby-1.9.2-p290:001>e=Employee.create(name:'rafael',active:false)ruby-1.9.2-p290:002>b=Badge.create(number:1,employee:e)ruby-1.9.2-p290:003>a=Address.create(street:"123MarketSt",city:"SanDiego",employee:e)ruby-1.9.2-p290
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我几天前在我的rubyonrails2.3.2上安装了Sphinx和Thinking-Sphinx,基本搜索效果很好。这意味着,没有任何条件。现在,我想用一些条件过滤搜索。我有公告模型,索引如下所示:define_indexdoindexestitle,:as=>:title,:sortable=>trueindexesdescription,:as=>:description,:sortable=>trueend也许我错了,但我注意到只有当我将:sortable=>true语法添加到这些属性时,我才能将它们用作搜索条件。否则它找不到任何东西。现在,我还在使用acts_as_tag
假设您编写了一个类Sup,我决定将其扩展为SubSup。我不仅需要了解你发布的接口(interface),还需要了解你的私有(private)字段。见证这次失败:classSupdefinitialize@privateField="fromsup"enddefgetXreturn@privateFieldendendclassSub问题是,解决这个问题的正确方法是什么?看起来子类应该能够使用它想要的任何字段而不会弄乱父类(superclass)。编辑:equivalentexampleinJava返回"fromSup",这也是它应该产生的答案。 最佳答案