有什么方法可以增加文档开头的用语吗?例如,我有3个文档。
Medicine XXX
Sulpher This medicine contains sulpher and should be taken only after consultation with your doctor.
Medicine YYY
contains: sulpher Not recommended by most physicians
Medicine ZZZ
This medicine works like sulpher but does not contain sulpher at all.
XXX应该在搜索词“
Sulpher”的顶部列出,因为那是该文档中的第一个单词。如果YYY列在顶部,则可以,因为与XXX相同。但是ZZZ应该永远是最后一个。换句话说,在“左侧”找到的术语应比在“右侧”找到的术语具有更高的优先级。
您可以通过小写标准化术语位置来提高:
PUT sulphur
{
"settings": {
"analysis": {
"normalizer": {
"keyword_lowercase": {
"type": "custom",
"filter": ["lowercase"]
}
}
}
},
"mappings": {
"properties": {
"text": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
}
}
}
}
POST sulphur/_doc
{"text":"This medicine works like sulpher but does not contain sulpher at all."}
POST sulphur/_doc
{"text":"contains: sulpher Not recommended by most physicians"}
POST sulphur/_doc
{"text":"Sulpher This medicine contains sulpher and should be taken only after consultation with your doctor."}
然后
GET sulphur/_search
{
"query": {
"bool": {
"must": [
{
"function_score": {
"query": {
"match": {
"text": "sulpher"
}
},
"script_score": {
"script": """
def pos = doc['text.keyword'].value.indexOf('sulpher');
return Math.exp((2.0/(pos+1)))
"""
},
"boost_mode": "replace"
}
}
]
}
}
}
屈服
[
{
"_index":"sulphur",
"_type":"_doc",
"_id":"sf5S2nEBW-D5QnrWODvB",
"_score":7.389056,
"_source":{
"text":"Sulpher This medicine contains sulpher and should be taken only after consultation with your doctor."
}
},
{
"_index":"sulphur",
"_type":"_doc",
"_id":"sP5S2nEBW-D5QnrWNjtw",
"_score":1.1993961,
"_source":{
"text":"contains: sulpher Not recommended by most physicians"
}
},
{
"_index":"sulphur",
"_type":"_doc",
"_id":"r_5S2nEBW-D5QnrWNDuw",
"_score":1.079959,
"_source":{
"text":"This medicine works like sulpher but does not contain sulpher at all."
}
}
]
问题内容: 我需要在全文搜索和索引搜索之间进行操作: 我想在表的一列中搜索文本(如果很重要的话,该列上也可能会有一个索引)。 问题是,我想搜索列中的单词,但是我不想匹配部分。 例如,我的列中可能包含公司名称: Mighty Muck Miller and Partners Inc. Boy&Butter Breakfast company 现在,如果我搜索“ Miller ”,我想找到第一行。但是
我有大量相同类型的实体,每个实体都有大量属性,并且我只有以下两种选择来存储它们: 将每个项存储在索引中并执行多索引搜索 将所有enties存储在单个索引中,并且只搜索1个索引。 一般而言,我想要一个时间复杂度之间的比较搜索“N”实体与“M”特征在上述每一种情况!
这道题是 LeetCode 212 题,是 79 题的升级版。 给定一个二维网格和包含多个单词的字典,找出所有同时在二维网格和字典中出现的单词。 解法一:回溯 直接使用 79 题的代码,依次查找每个单词是否在 board 中有一条对应的路径。 时间复杂度:$(n×4^L)$,$n$ 为单词个数,$L$ 为单词的最大长度 搜索每个单词的时间复杂度相当于搜索树的节点数。搜索最大深度为 $L$,$L$
我在研究二叉树。我找到了在树中插入节点的代码。这里“root”是类“TreeType”中结构类型的指针变量,作为“private member”。 在这个函数中,“根”是通过引用传递的,所以在“插入”函数中,“树”中的任何变化也会导致“根”的变化。如果我们再次调用插入函数,根将指向最后一个节点还是指向第一个节点?所以,根据我的说法,当它指向最后一个节点时,插入函数将不再工作。有人能帮忙吗?
我在处理一个单词搜索问题。我正确地实现了dfs搜索,但在其他地方有一些琐碎的错误。
搜索词 关键参数 报告 method metrics(指标, 数据单位) 其他参数 搜索词 source/searchword/a pv_count (浏览量(PV)) pv_ratio (浏览量占比,%) visit_count (访问次数) visitor_count (访客数(UV)) new_visitor_count (新访客数) new_visitor_ratio (新访客比率,%)