- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试让function_score用于价格字段时遇到麻烦的麻烦。最初,我尝试使用scaled_float字段。但是它不喜欢那样。所以我将价格字段更改为带小数位填充的long字段。因此,我有一个字段为“15000”,价格为$ 150.00。
这是我对/ products_v7 / product / _search的查询
{
"explain":true,
"query":{
"function_score":{
"query":{
"bool":{
"should":[
{
"match_phrase":{
"title":{
"query":"test",
"slop":10
}
}
}
]
}
},
"functions":[
{
"gauss":{
"price":{
"origin":"15000",
"scale":"2000"
}
},
"weight":2
}
]
}
}
}
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "unknown field [price]",
"line": 1,
"col": 0
}
],
"type": "search_phase_execution_exception",
"reason": "all shards failed",
"phase": "query",
"grouped": true,
"failed_shards": [
{
"shard": 0,
"index": "products_v7",
"node": "cd3yjjoSSxKxaJ-vCB8SgQ",
"reason": {
"type": "parsing_exception",
"reason": "unknown field [price]",
"line": 1,
"col": 0
}
}
]
},
"status": 400
}
{
"products_v7": {
"mappings": {
"product": {
"properties": {
"price:": {
"type": "long"
},
"sku": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "products_v7",
"_type": "product",
"_id": "cSULBGMBog6d8NyO0gRH",
"_score": 1,
"_source": {
"sku": "126",
"title": "test 4",
"price:": 15000
}
},
{
"_index": "products_v7",
"_type": "product",
"_id": "fl0FBGMBog0jN_eMK89-",
"_score": 1,
"_source": {
"sku": "125",
"title": "test 3",
"price:": 13000
}
}
]
}
}
最佳答案
问题在于在您的文档中price
字段称为price:
(即名称中带有冒号。这些细节很重要。
{
"sku": "126",
"title": "test 4",
"price:": 15000
^
|
see here
}
关于elasticsearch - ElasticSearch function_score抛出parsing_exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50052731/
我正在查看一些旧代码以及是否有必要对其进行重构以提高性能。 想法是......使用function_score,您将一个函数应用于要返回的所有文档,因此,如果您只能在需要的文档上运行这些函数,那就更好
我正在研究在Elasticsearch中提高自定义分数的解决方案。 我想问一下使用function_score是否是个好主意。因为索引大小很大,但查询的结果不应太大。 function_score是对
我需要做的是按位置增强文档(越靠近越好)。 locations是嵌套类型。 可以正常工作,但除外,如果文档中缺少locations,Elasticsearch不会返回文档。如果缺少字段,Elastic
我有一个查询问题。我使用查询来提升没有nested_objects的文档。现在,我使用nested_objects并将查询更改为使用嵌套过滤器,但没有任何改进。 我得到了我期望的文档,但是没有_sco
我在page的最后部分遵循了教程。 POST /merchantindex/_search { "function_score": { "query": { {"query_s
尝试创建一个搜索,以返回距特定地理点约 500 米的位置结果。 我需要根据位置在源中是否为空来过滤此搜索的结果。 我试过这样的事情: "filtered" : { "filter": {
我正在尝试为嵌套评分函数找到正确的方法。 数据: PUT test PUT test/test/_mapping { "properties": { "driver_id": {
在 Elasticsearch 中,给定以下文档结构: "workhistory": { "positions": [{ "company": "Some company", "p
理想情况下,我想要实现的是为查询分配权重,使查询 1 占最终分数的 30%,查询 2 占其他 70%,因此要获得最大分数,文档必须在查询 1 上获得最高分数,并且查询2。我对文档的研究没有给出任何关于
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 7年前关闭。 Imp
我有两种文档类型,处于父子关系中: "myParent" : { "properties" : { "weight" : { "type" : "double" }
我是 Elastic Search 的新手。我在 ElasticSearch 中为电影艺术家( Actor 和导演)编制了索引,并且简单的文本搜索工作正常,例如,如果我使用以下语法搜索“史蒂文” {"
我正在使用代码使用 Elasticsearch 进行搜索: es.search(index="article-index", fields="url", body={ "query": {
我想对 function_score 中的每个函数进行不同的加权。我有一个常规的文本查询,混合了基于日期的衰减和地理查询。我想减少基于日期衰减的权重。在一些旧文档上,我看到了 scale_weight
如何在 Elasticsearch 5.2.0 中将此过滤器添加到下面的查询中。 我试图将过滤器包装在过滤数组中,但没有成功。 过滤器 "filter" : { "term" : { "bo
以下JSON结构在执行查询时给我一个错误: {
我有 3 种类型的数据 [doctor,article,place],我想根据 bool 查询匹配它们的文档。但我想给医生类型提升 3,地点类型提升 2,文章提升 1。我有一个使用 function_
我正在尝试使用function_score中定义的不同功能修改普通查询的分数。 为了找出由我的函数计算出的分数,我将“boost_mode”指定为“replace”。但是,这会使所有分数保持不变:全部
我是一名优秀的程序员,十分优秀!