Kie*_*one 5 .net c# elasticsearch
我正在使用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
Run Code Online (Sandbox Code Playgroud)
然后,我为我的索引"内容",项目类型"新闻"创建了一个映射:
PUT http://localhost:9200/content/news/_mapping
{
"news" : {
"properties" : {
"TextContent" : {
"type" : "string",
"index" : "analyzed",
"analyzer" : "htmlContentAnalyzer",
"store" : "yes"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该store
/ yes
只是为了"好玩",这都没有区别.以上给我200 OK.
但是,搜索返回相同的结果.
没有用的是弹性搜索文档似乎令人震惊.看看这个页面:
http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html
它简要介绍了映射的内容,并在映射部分说明了更多细节,即此页面:
http://www.elasticsearch.org/guide/reference/mapping/
......这似乎真的太可怕了.没有提到我找到的格式/对象图 - 没有提到"属性","类型","分析器","索引"等.右侧菜单上有一些部分,例如"_index",但它们似乎把整个项目称为?那指出了哪里?
所以我的问题在两个方面:
感谢 #elasticsearch (freenode IRC) 上的 chrismale -
搜索_all
是不好的:它是用它自己的分析器索引的。对我的TextContent
领域的查询特别按预期工作。
归档时间: |
|
查看次数: |
2197 次 |
最近记录: |