相关疑难解决方法(0)

elasticsearch/lucene亮点

我正在使用ElasticSearch索引文档.

我的映射是:

"mongodocid": {
  "boost": 1.0,
  "store": "yes",
  "type": "string"
},
"fulltext": {
  "boost": 1.0,
  "index": "analyzed",
  "store": "yes",
  "type": "string",
  "term_vector": "with_positions_offsets"
}
Run Code Online (Sandbox Code Playgroud)

要突出显示完整的全文,我将其设置number_of_framgments为0.

如果我执行以下类似Lucene的字符串查询:

{
  "highlight": {
    "pre_tags": "<b>",
    "fields": {
      "fulltext": {
        "number_of_fragments": 0
      }
    },
    "post_tags": "</b>"
  },
  "query": {
    "query_string": {
      "query": "fulltext:test"
    }
  },
  "size": 100
}
Run Code Online (Sandbox Code Playgroud)

对于结果集中的某些文档,突出显示的全文的长度小于全文本身.由于我设置number_of_fragments为0和pre_tags/ post_tags被添加,这不应该发生.

现在出现了奇怪的行为:如果我只通过这样做来搜索其中一个失败的元素:

{
  "highlight": {
    "pre_tags": "<b>",
    "fields": {
      "fulltext": {
        "number_of_fragments": 0
      }
    },
    "post_tags": "</b>"
  },
  "query": …
Run Code Online (Sandbox Code Playgroud)

lucene elasticsearch

6
推荐指数
1
解决办法
2025
查看次数

Elasticsearch 获取文档中短语的位置

我正在做一个需要全文搜索一本书的项目。我一次只需要搜索一本书,我需要从书的开头获得搜索词的偏移量。我需要它用于由 Django/python 提供支持的站点,但我认为 Elasticsearch 更好更快。

目前我还没有直接通过抽象层django-haystack直接使用Elasticsearch。

编辑 1:我不仅需要向用户显示他们正在搜索的文本,而且还需要为他们显示该文本的链接。基本上它应该像 Mac 上预览中的搜索框一样工作。用户看到带有周围文本的搜索结果,如果他们点击它,他们会被 JS 重定向到书的一部分,即文本所在的位置。

elasticsearch

5
推荐指数
0
解决办法
3025
查看次数

Elasticsearch - 文档中片段的位置

我正在执行如下所示的短语查询。它返回给我按相关性排序的突出显示的片段。当然,我希望用户单击某个片段,然后我会将文档滚动到相应的位置。但是,我在 Elasticsearch 中看不到任何方法来找出片段在原始文档中的位置。有任何想法吗?

GET documents/doc/_search
{
   "query": {
        "match_phrase": {
            "text": {
                "query": "hello world",
                "slop":  10
            }
        }
    }, 
    "highlight" : {
        "order" : "score",
        "fields" : {
            "text" : {"fragment_size" : 100, "number_of_fragments" : 10}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

elasticsearch

5
推荐指数
1
解决办法
1974
查看次数

标签 统计

elasticsearch ×3

lucene ×1