gpt4 book ai didi

c# - 如何从我的 elasticsearch 索引中排除 HTML 内容?

转载 作者:太空狗 更新时间:2023-10-29 23:33:02 25 4
gpt4 key购买 nike

我正在使用 Elasticsearch,并使用 WebRequest 编写我自己的包装器,因为 NEST(通常的选择)莫名其妙地似乎缺乏插入项目并返回生成的 ID 的能力。

无论如何 - 一般方法没有问题。但是,任何 HTML 内容都按原样索引,即如果我有 <strong>test</strong>在一个字段中,然后搜索查询“strong”返回该项目。

我已将它放在 elasticsearch.yml 中,基于我发现的随机留言板帖子:

index:
analysis:
analyzer:
htmlContentAnalyzer:
type: custom
tokenizer: standard
filter: standard
char_filter: html_strip

然后,我为我的索引“内容”创建一个映射,项目类型为“新闻”:

PUT http://localhost:9200/content/news/_mapping

{
"news" : {
"properties" : {
"TextContent" : {
"type" : "string",
"index" : "analyzed",
"analyzer" : "htmlContentAnalyzer",
"store" : "yes"
}
}
}
}
}

store/yes只是为了“好玩”,没有什么区别。以上给了我 200 OK。

但是,搜索返回相同的结果。

没有帮助的是 elasticsearch 文档似乎令人震惊。查看此页面:

http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html

它简要介绍了什么是映射,并表示更多详细信息在映射部分,即此页面:

http://www.elasticsearch.org/guide/reference/mapping/

...这似乎真的很糟糕。没有提到我发现的格式/对象图——没有提到“属性”、“类型”、“分析器”、“索引”等。右侧菜单上有一些部分,例如“_index”,但它们似乎是指整个项目?那是在哪里指出的?

所以我的问题有两个方面:

  • 如何停止对 HTML 标记(以及我猜的实体、属性值)编制索引? - 请注意,我仍然希望存储 HTML
  • 是否有更好的 elasticsearch 信息/文档来源?还是我没戴 super secret 解码器眼镜看它?

最佳答案

感谢 chrismale 在 #elasticsearch (freenode IRC) 上的贡献 -

搜索 _all 是不好的:它使用自己的分析器进行索引。查询我的 TextContent 字段特别按预期工作。

关于c# - 如何从我的 elasticsearch 索引中排除 HTML 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com