簡體   English   中英

DisMax 查詢解析器未運行

[英]DisMax query parser is not running

環境-solr-8.9.0

.csv 文件形式的電影數據已在 apache solr 中建立索引。

電影數據

name,directed_by,genre,type,id,initial_release_date
.45,Gary Lennon,Black comedy|Thriller|Psychological thriller|Indie film|Action Film|Crime Thriller|Crime Fiction|Drama,,/en/45_2006,2006-11-30
9,Shane Acker,Computer Animation|Animation|Apocalyptic and post-apocalyptic fiction|Science Fiction|Short Film|Thriller|Fantasy,,/en/9_2005,2005-04-21
Bomb the System,Adam Bhala Lough,Crime Fiction|Indie film|Coming of age|Drama,,/en/bomb_the_system,
movie_name,Adam Bhala,Animation|Indie film|Coming of age|Drama,,/en/bomb_the_system,

DisMax 查詢解析器已在“directed_by”字段上運行。 “directed_by”字段在托管模式中映射為“text_general”字段類型。

我在 solr 上運行了以下查詢

curl -G http://localhost:8983/solr/testCore1/select --data-urlencode "q=directed_by:'Adam Bhala Lough~'" --data-urlencode "defType=dismax" --data-urlencode "mm=2"

但上面的查詢給出了 0 'numFound' 作為響應。 我希望以下字段匹配:

Adam Bhala
Adam Bhala Lough

我希望以下字段不匹配:

Adam Gary Lennon

雖然數據在 solr. 我通過在沒有 disMax 查詢解析器的情況下運行以下查詢對此進行了交叉檢查,它正在給出響應。

curl -G http://localhost:8983/solr/testCore1/select --data-urlencode "q=directed_by:'Adam Bhala Lough~'"

為什么 dismax 查詢解析器沒有按應有的方式運行? 我了解 mm(Minimum Should Match) Parameter===> 定義了必須匹配的最小子句數。

我花了幾個小時來解決這個問題。 然而,我似乎找不到任何能握住我手的東西。 有人可以幫我找到丟失的部分嗎?

參考https://solr.apache.org/guide/8_9/the-dismax-query-parser.html

如何在 solr 中使用 disMax 查詢解析器

您需要使用qf (查詢字段)參數來指定應在哪些字段中執行搜索,以及(可選)用於增加或減少該特定字段在查詢中的重要性的提升因子(默認為 1) :

q=Adam Bhala Lough~
qf=directed_by

或者,使用edismax查詢解析器而不是dismax ,以便您使用的標准查詢語法 ( directed_by:'Adam Bhala Lough~' ) 可以按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM