我正在使用Elastic 5.4实现类似建议/完成的功能,并且在为我的需求选择正确的标记器时面临问题。下面的例子是:
本索引共有4份文件,内容如下:
博士1:掌声
DOC 2:苹果
医生3:它是一个苹果
DOC 4:应用
文件5:有一个申请
查询
查询1:查询字符串“App”应返回所有5个文档。
查询2:查询字符串“Apple”应仅返回文档2和文档3。
查询3:查询字符串html" target="_blank">应用程序应该只返回文档4。
查询4:查询字符串appl应该返回所有5个文档。
分词器
我在Elastic中使用以下标记器,我看到查询2和查询3返回的所有文档。
分析器应用于“文本”类型的字段。
"settings": {
"analysis": {
"analyzer": {
"my_ngram_analyzer": {
"tokenizer": "my_ngram_tokenizer"
}
},
"tokenizer": {
"my_ngram_tokenizer": {
"type": "ngram",
"min_gram": "3",
"max_gram": "3",
"token_chars": [
"letter",
"digit"
]
}
}
}
}
如何将结果限制为返回包含查询字符串精确匹配的文档(作为现有单词或短语或精确单词的一部分)(我已经提到预期结果在上面的查询中提供)?
这是因为您使用的是nGram
tokenizer,而不是edgeNGram
one。后者只索引前缀,而前者将索引前缀、后缀以及数据的子部分。
将您的analyzer定义改为此,它应按预期工作:
"settings": {
"analysis": {
"analyzer": {
"my_ngram_analyzer": {
"tokenizer": "my_ngram_tokenizer"
}
},
"tokenizer": {
"my_ngram_tokenizer": {
"type": "edge_ngram", <---- change this
"min_gram": "3",
"max_gram": "3",
"token_chars": [
"letter",
"digit"
]
}
}
}
}
类别表的结构: id 标题 家长id 项目表的结构: id 标题 is_active(0) category_id 表结构 表通过一对多关系与category_id字段相关联。1类可以有很多项。 类别表中的两级层次结构。这定义了主要类别和子类别。类别是那些父项id=NULL的记录。和子类别,这些记录中的父项_id=到某个id。 一个项目可以属于主类别(其中parent_id=null)和子类别(子
问题内容: 我正在尝试查询包含值数组的JSON字段。例如,我们将表命名为“ User ”,并将字段命名为“ Friends ”。这是“朋友”字段的外观: 因此,我想 在User表上查询来自Friends字段的所有内容,其中id等于3 。 就像这样: 当然,如果该字段不包含数组,那么上面的示例可以完美地工作,所以它只是: 绝望了,尽管我知道这是不是很符合逻辑,我试图用“其中”: 。或类似的东西:,,
问题内容: 这有效,但是由于缺少真实性令牌而被停止: 所以我尝试像这样添加它: 并且它正确地将auth_token作为参数传递,但似乎丢失了其余的表单。 无论如何要完成发送有效的表单数据以及真实性令牌的工作? 这是一个Rails环境。我脑子里有这个。 我尝试过的事情 1。 2。 3。 问题答案: 实际上,您正在读取form 的属性并向其发送ajax请求。要发送表单数据,您必须提交表单,也可以序列化
为了优化存储,在任何情况下均应使用最精确的类型。例如,如果列的值的范围为从1到99999,若使用整数,则MEDIUMINT UNSIGNED是好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。 用精度为65位十进制数(基于10)对DECIMAL列进行所有基本计算(+、-、*、/)。参见11.1.1节,“数值类型概述”。 使用双精度操作对DECIMAL值进行计算。如果准确度不是太重要或如
校验者: 翻译者: @李孟禹 通常,解决机器学习问题的最困难的部分可能是找到恰当的的评估器(estimator)。 不同的评估器更适合不同类型的数据和不同的问题。 下面的流程图是一些粗略的指导,可以让用户根据自己的数据来选择应该尝试哪些评估器。 点击下图的任何评估器,查看其文档。
我每天都面临这个问题,我找了很多,但没有找到任何方便的答案。 每当我启动仿真器时,一段时间后,当我看到DDMS时,它会在线显示仿真器,但它的文件资源管理器是ShowNothing。当我再次重新启动模拟器或重新启动Eclipse时,它再次可见。但是我不想要这个,我想要一个快速的解决方案。 还有一件事,我已经将设备超时设置为较高的值,但它也不起作用。这是我的DDMS的屏幕截图。有人能快速解决吗?提前感