- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 elasticsearch 1.1.2。
我在可搜索字段上使用具有不同权重的多匹配查询。
例子:
{ “多匹配”:{ “查询”:“这是一个测试”, “字段”:[“标题^3”,“描述^2”,“正文”] }
所以在我的示例中,标题的重要性是正文的三倍。
我想根据找到的匹配自定义为每个字段指定的权重。
假设我搜索“伤害”,我想:
-如果找到完全匹配,则给标题一个系数 3:标题包含单词“injury”。
- 如果找到同义词,则给标题一个系数 2:标题包含单词“bruise”。
-如果发现词干提取,则将标题的系数设为 1:标题包含单词“injuries”。
有没有办法进行这种定制?
谢谢!
最佳答案
您可以使用 multi-fields 来实现这一点映射到您的 title
值。
它允许您将多种类型映射到相同的输入值,从而使用不同的分析器。
假设您已经为同义词和词干定义了自定义分析器,请尝试更新您的映射:
PUT /<index_name>/<type_name>/_mapping
{
"<type>": {
"properties": {
"title": {
"type": "string",
"fields": {
"exact": {
"type": "string",
"index": "not_analyzed"
},
"synonym": {
"type": "string",
"index": "analyzed",
"analyzer": "synonym_analyzer"
},
"stemmed": {
"type": "string",
"index": "analyzed",
"analyzer": "stemming_analyzer"
}
}
}
}
}
}
下面的查询应该符合你的要求:
POST /<index_name>/<type_name>/_search
{
"query": {
"multi_match": {
"query": "injury",
"fields": [
"title.exact^3",
"title.synonym^2",
"title.stemmed"
]
}
}
}
关于elasticsearch 为同义词/词干化定制分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305250/
我想搜索一个单词及其在句子中的变体。例如,单词“happy”的变体是“happiest”、“happier”。有java库支持吗? 最佳答案 您可以使用Porter stemming algorith
愚蠢的,但我无法访问 NLTK 中的主干函数。 我打电话 import nltk nltk.stem.porter.step1ab() 但我被告知该对象没有 step1ab 属性。我想我以某种方式没有
我想将 DataFrame 的列和索引限制为这样的内容 ps = PorterStemmer() df_dic = pd.read_csv('inquirerbasic_clean.csv', sep
查看以下脚本tortest.py,它反复切换TOR电路并检查IP地址是否已更改: #!/usr/bin/env python2.7 # -*- coding: utf-8 -*- import jso
我是一名优秀的程序员,十分优秀!