问题标签 [dismax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
solr - 自定义搜索查询:edismax(user_entered_search_keywords) AND (condition A OR condition B)
我的 edismax 运行完美,当我将搜索关键字传递给 dismax 时,它在内部处理查询形成。
我实现的下一步是一个自定义查询,其中让 dismax 对这些搜索关键字执行所有 mumbo jumbo,但使用自定义条件执行 dismax 查询。
当我不使用 dismax 时,我会手动创建自己的查询,例如 (keyword1 OR Keyword2) AND Contidion A,但在这种情况下,我必须手动创建搜索关键字查询的所有 PnC。现在 dismax 做到了,但我不知道如何使用 dismax 以及不依赖于用户输入的搜索关键字的自定义条件。
是否可以使用(e)dismax,是的,那么如何?
solr - Solr 最小匹配:ArrayIndexOutOfBoundsException
我有以下请求处理程序,它搜索两个text_en
字段,Title
并且Body
. 查询可以在没有最小匹配设置的情况下查找。如果我使用 mm 字段,并且我的搜索字符串高于 2 个字词,我会得到:
我的请求处理程序:
问题:是什么原因造成的,如何解决。
sorting - solr dismax lower boost for empty values
I have a SOLR document which looks like this:
I want to write a query that matches documents by name, but boost records with emailaddress
to appear on top, and without emailaddress
toward the bottom.
I don't want to sort by email address. I prefer using dismax (i am presenting a simplified problem here).
solr - 对于 Solr dismax 查询,如何获取每个字段的分数?
在我的应用程序中,每个文档由四个文本字段组成,即标题、关键字、摘要和文本。我知道我可以使用带有“fq=title keywords summary text”的dismax查询来让Solr在四个字段中进行dismax查询。四个字段中的最大相关性得分将作为最终得分。此外,将分数添加到 fl 参数中,我可以获得每个文档与查询的相关性分数。
但是,问题是如何知道这四个字段中的每一个的相关性得分?这对我来说非常重要,因为我需要转储这些分数来调整字段权重。我想的唯一方法是打开 debugQuery 选项并提取返回的 XML 来解析分数。但我认为它太复杂了。有人对我的问题有简单的解决方案吗?
solr - Solr 1 vs Solr 4 Dismax Handler 的不同分数
我已使用此方法将我的 Solr 1.4 索引迁移到 Solr 4.0 ,并且我尽可能保持我的 solrconfig.xml 和 schema.xml 不变,同时仍然可以正常工作。
我正在使用 DisjunctionMaxQuery ( dismax
/ solr.DisMaxRequestHandler
) requestHandler 并比较 Solr 1.4 和 Solr 4 之间的搜索结果。在 URL 中使用?debugQuery=on,我可以看到parsedQuery
Solr 版本之间的部分几乎相同,但生成的分数是不同的。(explain
部分不同,但计算冗长且晦涩。)
示例查询:q=foo
示例响应:
Solr 1.4:
索尔 4.0:
尽管具有相同的请求处理程序和相同的索引,但什么会导致分数出现这种显着差异?
solr - Solr DisMax 查询等效项
我正在尝试在 SOLR 3.5.0 中设置提升处理程序,我需要以下等效于 dismax 格式的查询,它根据匹配类型在同一字段上定义不同的提升值(精确匹配获得 200,而通配符匹配获得 100) .
q=name:(foo*^100.0 或 foo^200.0)
solr - Solr:通过短语查询将“at the moon nasa”与“at the moon”匹配的最佳方法?
我有大约 500.000 个文档的索引,其中大约 10 个文档包含标题“at the moon”('title' 字段)和标签“nasa”('tag' 字段)。当我搜索“at the moon nasa”时,这些文件在搜索结果列表中的位置非常靠后。这是因为标题字段没有得到提升,但标签字段得到了相当大的提升。因此,带有标签“nasa”的其他文档优先于通过标题字段几乎匹配整个查询的文档。
然而,即使 Solr 不知道,查询“at the moon nasa”几乎与文档标题“at the moon”相匹配。如果我从查询中删除“nasa”部分,文档会出现在顶部。
有什么方法可以告诉 Solr 进行某种近似短语查询吗?通过 bq 参数实现某种语法搜索是否有意义,我会将搜索短语拆分为单词组合,例如:
这是否有意义,并且根据它们匹配的查询的大部分来提升文档是否有意义?
solr - 如何执行这些 SOLR 查询?
我有一个索引数据(使用 rdbms 中的 solrj 索引),其中包含与银行相关的字段,例如(示例):customerid、cust_name、accountno、amount、position、pos_value、EOD_value 等
现在我想对数据和搜索查询进行一些搜索:
- 前10名股票/仓位(根据股票价值)
- 银行存款金额降序排列的前5名客户
- 哪只股票一天内涨幅最大(以及股票详情)
- 特定时间范围内股票的最低值
如何在 SOLR 中查询上述内容我确实阅读了 Function Query 和 solr Plugins 但找不到太多有用的信息......
我们可以使用一些数学运算(如平均值、总和等)对字段(金额、股票价值等)进行分面吗?
我想使用速度 UI 进行以下搜索,需要对其搜索框进行哪些自定义?任何想法???
solr - Solr 4.1 dismax pf 未返回预期结果
我正在使用 solr4.1 和 qt=dismax。我也有一套类似的 solr1.4。
当我使用 pf 字段查询 solr 4.1 时,返回的结果在顶部没有匹配短语的文档。在我之前安装的 solr 1.4 中,我得到了正确的结果,即具有短语的文档的排名确实高于没有短语的文档。
在 solrconfig.xml 我有这个配置:
我的查询如下所示:
qt=dismax&q=product%20manager&qf=summ_svc_descr+skills+past_proj_tag+past_proj_name+past_proj_descr+login_name+business_name+primary_state+primary_country+primary_city+tagline+dtl_svc_descr+keywords+about_us+parent_cat_name+experience+credentials+past_cat_name+any_group_login_= dtl_svc_descr+uniq_id,login_name,login_userid,parent_cat_name,parent_cat_id,net_score,business_name,business_name_sort,primary_state,primary_country,primary_city,primary_zip,reviews_positive_12mos,reviews_12mos,feedback_avg_12mos,earnings_12mos,reviews_positive_6mos,reviews_6mos,feedback_avg_6mos,earnings_6mos,earnings_overall,tagline,summ_svc_descr,hourly_rate, is_individual,user_id,score,tier_seller_id,file_upload_id,file_upload_name,new_provider,is_team,team_cnt,skill_ids,skills,portfolio_yn,jobs_accepted_12mos,is_agent,company_userid,company_login_name,company_business_name,available_y**&pf=summ_svc_descr^1.2+skills^1.8+past_proj_tag+past_proj_name+past_proj_descr+experience+credentials+tagline^1.8+dtl_svc_descr^1.2+keywords+about_us^1.2**&rows=25&start= json
当我检查调试输出时,我看到 parsedquery 也确实评估了短语:
管理 | 经验:管理 | dtl_svc_descr:manag | 主要状态:经理 | 主要国家:经理 | 主要城市:经理 | 组:管理 | 标语:manag)~1.0)~2) (技能:“产品管理”~1^1.8 | about_us:“产品管理”~1^1.2 | 关键词:“产品管理”~1 | 过去项目名称:“产品管理”~1 | past_proj_descr:"产品管理"~1 | summ_svc_descr:"产品管理"~1^1.2 | past_proj_tag:"产品管理"~1 | 经验:"产品管理"~1 | 凭证:"产品管理"~1 | dtl_svc_descr: “产品经理”~1^1.2 | 标语:“产品经理”~1^1.8)~1.0" 8 | about_us:"产品管理"~1^1.2 | 关键词:“产品经理”~1 | past_proj_name:"产品管理"~1 | past_proj_descr:"产品管理"~1 | summ_svc_descr:"产品管理"~1^1.2 | past_proj_tag:"产品管理"~1 | 经验:“产品经理”~1 | 凭据:“产品经理”~1 | dtl_svc_descr:"产品管理"~1^1.2 | 标语:“产品管理”~1^1.8)~1.0" 8 | about_us:"产品管理"~1^1.2 | 关键词:“产品经理”~1 | past_proj_name:"产品管理"~1 | past_proj_descr:"产品管理"~1 | summ_svc_descr:"产品管理"~1^1.2 | past_proj_tag:"产品管理"~1 | 经验:“产品经理”~1 | 凭据:“产品经理”~1 | dtl_svc_descr:"产品管理"~1^1.2 | 标语:“产品管理”~1^1.8)~1.0" 2 | 标语:“产品管理”~1^1.8)~1.0" 2 | 标语:“产品管理”~1^1.8)~1.0"
solr - dismax 和 edismax 返回不同的结果
我正在为我的网站使用 Solr。该文档有两个字段:流派和主题。例如,如果我想搜索关于爱情的小说,那么 solr 查询将是 tyepDef=dismax&qf=genre,topic&q=genre:novel AND topic:about love。但是,这不会返回任何结果。但是,如果我使用 edismax,则会返回所有主题以“about”开头的文档。这是两个不同的极端,没有或全部。如何配置我的查询,以便返回同时满足genre:novel 和topic:about love 的文档?