Lucene 在ElasticSearch中使用高亮显示,来源:false
我只是想知道。 是否可以在索引上用_source=false突出显示ElasticSearch中的文本 我的意思是,我知道如果ES没有文档,他就不能做突出显示,但是有没有办法将ES用作突出显示引擎,而不是带有突出显示的完整搜索引擎? (我在突出显示查询中提供完整文档)Lucene 在ElasticSearch中使用高亮显示,来源:false,lucene,highlight,elasticsearch,Lucene,Highlight,elasticsearch,我只是想知道。 是否可以在索引上用_source=false突出显示ElasticSearch中的文本 我的意思是,我知道如果ES没有文档,他就不能做突出显示,但是有没有办法将ES用作突出显示引擎,而不是带有突出显示的完整搜索引擎? (我在突出显示查询中提供完整文档) 谢谢我认为这是不可能的 但是,您可以在搜索查询和文档中使用_analyze,然后比较标记以在代码中突出显示 例如: curl -XGET 'localhost:9200/test/_analyze?analyzer=snowbal
谢谢我认为这是不可能的 但是,您可以在搜索查询和文档中使用_analyze,然后比较标记以在代码中突出显示 例如:
curl -XGET 'localhost:9200/test/_analyze?analyzer=snowball' -d 'some search query keywords'
{“标记”:[{“标记”:“一些”,“开始偏移”:0,“结束偏移”:4,“类型”:“位置”:1},{“标记”:“搜索”,“开始偏移”:5,“结束偏移”:11,“类型”:“位置”:2},{“标记”:“查询”,“开始偏移”:12,“结束偏移”:17,“类型”:“位置”:3},{“标记”:“关键字”,“开始偏移”:18,“结束偏移”:26,“类型”:“位置”:4}
curl-XGET'localhost:9200/test/\u analyze?analyzer=snowball'-d'$document\u text'
{“代币”:..}
然后在文档中查找这些标记匹配项,偏移量应该在文档中为您提供正确的突出显示位置。我认为这是不可能的
{
"query": {
"query_string": {
"query": "**",
"fields["
sometext "]}},"
highlight {
"pre_tags": ["<em>"],
"post_tags[</em>"],
"order": "score",
"require_field_match": true,
"fields": {
"sometext": {
"fragment_size": 180,
"number_of_fragments": 1
}
}
}
}
但是,您可以在搜索查询和文档中使用_analyze,然后比较标记以在代码中突出显示
例如:
curl -XGET 'localhost:9200/test/_analyze?analyzer=snowball' -d 'some search query keywords'
{“标记”:[{“标记”:“一些”,“开始偏移”:0,“结束偏移”:4,“类型”:“位置”:1},{“标记”:“搜索”,“开始偏移”:5,“结束偏移”:11,“类型”:“位置”:2},{“标记”:“查询”,“开始偏移”:12,“结束偏移”:17,“类型”:“位置”:3},{“标记”:“关键字”,“开始偏移”:18,“结束偏移”:26,“类型”:“位置”:4}
curl-XGET'localhost:9200/test/\u analyze?analyzer=snowball'-d'$document\u text'
{“代币”:..}
然后在文档中查找这些标记匹配项,偏移量应在文档中为您提供正确的突出显示位置。{
{
"query": {
"query_string": {
"query": "**",
"fields["
sometext "]}},"
highlight {
"pre_tags": ["<em>"],
"post_tags[</em>"],
"order": "score",
"require_field_match": true,
"fields": {
"sometext": {
"fragment_size": 180,
"number_of_fragments": 1
}
}
}
}
“查询”:{
“查询字符串”:{
“查询”:“**”,
“字段[”
sometext“]},”
突出显示{
“pre_标记”:[“”],
“post_标签[”],
“顺序”:“得分”,
“需要字段匹配”:true,
“字段”:{
“sometext”:{
“碎片大小”:180,
“碎片的数量”:1
}
}
}
}
{
“查询”:{
“查询字符串”:{
“查询”:“**”,
“字段[”
sometext“]},”
突出显示{
“pre_标记”:[“”],
“post_标签[”],
“顺序”:“得分”,
“需要字段匹配”:true,
“字段”:{
“sometext”:{
“碎片大小”:180,
“碎片的数量”:1
}
}
}
}
如果默认情况下未停用源,您可以:
{
"_source" : ["_id"],
"query": {
"match" : {
"attachment.content" : "Setup"
}
},
"highlight": {
"fields" : {
"attachment.content" : {}
}
}
}
您必须在\u分数中添加一些内容。它仍然会返回找到的文档的所有“元数据”:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.2919385,
"hits": [
{
"_index": "test",
"_type": "_doc",
"_id": "xpto",
"_score": 0.2919385,
"_source": {},
"highlight": {
"attachment.content": [
"<em>Setup</em> the [GenericCommand.properties] file\n\nThe commands that ought to be recognized have to be defined"
]
}
}
]
}
}
{
“take”:4,
“超时”:false,
“_碎片”:{
“总数”:5,
“成功”:5,
“跳过”:0,
“失败”:0
},
“点击次数”:{
“总数”:1,
“最高分数”:0.2919385,
“点击次数”:[
{
“_索引”:“测试”,
“\u类型”:“\u单据”,
“_id”:“xpto”,
“_分数”:0.2919385,
“_来源:{},
“亮点”:{
“附件.内容”:[
“设置[GenericCommand.properties]文件\n\n必须定义应该识别的命令”
]
}
}
]
}
}
如果默认情况下未停用源,您可以:
{
"_source" : ["_id"],
"query": {
"match" : {
"attachment.content" : "Setup"
}
},
"highlight": {
"fields" : {
"attachment.content" : {}
}
}
}
您必须在\u分数中添加一些内容。它仍然会返回找到的文档的所有“元数据”:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.2919385,
"hits": [
{
"_index": "test",
"_type": "_doc",
"_id": "xpto",
"_score": 0.2919385,
"_source": {},
"highlight": {
"attachment.content": [
"<em>Setup</em> the [GenericCommand.properties] file\n\nThe commands that ought to be recognized have to be defined"
]
}
}
]
}
}
{
“take”:4,
“超时”:false,
“_碎片”:{
“总数”:5,
“成功”:5,
“跳过”:0,
“失败”:0
},
“点击次数”:{
“总数”:1,
“最高分数”:0.2919385,
“点击次数”:[
{
“_索引”:“测试”,
“\u类型”:“\u单据”,
“_id”:“xpto”,
“_分数”:0.2919385,
“_来源:{},
“亮点”:{
“附件.内容”:[
“设置[GenericCommand.properties]文件\n\n必须定义应该识别的命令”
]
}
}
]
}
}
你能查一下吗?我已经查过了,但我对NGram analyzer没有足够的经验,但你可以在elasticsearch邮件列表上询问。你能查一下吗?我已经查过了,但我对NGram analyzer没有足够的经验,但是你可以在elasticsearch邮件列表中询问。我们使用高亮显示,因为在content.text字段中进行匹配短语查询搜索需要5到30秒。突出显示content.text字段的检索平均每次点击需要10秒我们使用突出显示,因为content.text字段中的匹配短语查询搜索需要5到30秒。突出显示content.text字段的检索平均每次点击需要10秒