{"id":1317,"date":"2020-06-08T04:30:48","date_gmt":"2020-06-08T04:30:48","guid":{"rendered":"https:\/\/www.aeologic.com\/insights\/?p=1317"},"modified":"2020-06-08T06:44:33","modified_gmt":"2020-06-08T06:44:33","slug":"ultimate-solr-guide16-the-extended-dismax-edismax-query-parser","status":"publish","type":"post","link":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/","title":{"rendered":"The Extended DisMax (eDismax) Query Parser &#8211; Ultimate Solr Guide"},"content":{"rendered":"\n<p>The Extended DisMax (eDisMax) query parser is an improved version of the&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-dismax-query-parser.html#the-dismax-query-parser\">DisMax query parser<\/a>.<\/p>\n\n\n\n<p>In addition to supporting all the DisMax query parser parameters, Extended Dismax:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>supports&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-standard-query-parser.html#the-standard-query-parser\">Solr\u2019s standard query parser<\/a>&nbsp;syntax such as (non-exhaustive list):<ul><li>boolean operators such as AND (+, &amp;&amp;), OR (||), NOT (-).<\/li><li>optionally treats lowercase &#8220;and&#8221; and &#8220;or&#8221; as &#8220;AND&#8221; and &#8220;OR&#8221; in Lucene syntax mode<\/li><li>optionally allows embedded queries using other query parsers or functions<\/li><\/ul><\/li><li>includes improved smart partial escaping in the case of syntax errors; fielded queries, +\/-, and phrase queries are still supported in this mode.<\/li><li>improves proximity boosting by using word shingles; you do not need the query to match all words in the document before proximity boosting is applied.<\/li><li>includes advanced stopword handling: stopwords are not required in the mandatory part of the query but are still used in the proximity boosting part. If a query consists of all stopwords, such as &#8220;to be or not to be&#8221;, then all words are required.<\/li><li>includes improved boost function: in Extended DisMax, the&nbsp;<code>boost<\/code>&nbsp;function is a multiplier&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-dismax-query-parser.html#bq-bf-shortcomings\">rather than an addend<\/a>, improving your boost results; the additive boost functions of DisMax (<code>bf<\/code>&nbsp;and&nbsp;<code>bq<\/code>) are also supported.<\/li><li>supports pure negative nested queries: queries such as&nbsp;<code>+foo (-foo)<\/code>&nbsp;will match all documents.<\/li><li>lets you specify which fields the end user is allowed to query, and to disallow direct fielded searches.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"extended-dismax-parameters\">Extended DisMax Parameters<\/h2>\n\n\n\n<p>In addition to all the&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-dismax-query-parser.html#dismax-query-parser-parameters\">DisMax parameters<\/a>, Extended DisMax includes these query parameters:<code>sow<\/code>Split on whitespace. If set to&nbsp;<code>true<\/code>, text analysis is invoked separately for each individual whitespace-separated term. The default is&nbsp;<code>false<\/code>; whitespace-separated term sequences will be provided to text analysis in one shot, enabling proper function of analysis filters that operate over term sequences, e.g., multi-word synonyms and shingles.<code>mm<\/code>Minimum should match. See the&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-dismax-query-parser.html#mm-minimum-should-match-parameter\">DisMax mm parameter<\/a>&nbsp;for a description of&nbsp;<code>mm<\/code>. The default eDisMax&nbsp;<code>mm<\/code>&nbsp;value differs from that of DisMax:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The default&nbsp;<code>mm<\/code>&nbsp;value is 0%:<ul><li>if the query contains an explicit operator other than &#8220;AND&#8221; (&#8220;-&#8220;, &#8220;+&#8221;, &#8220;OR&#8221;, &#8220;NOT&#8221;); or<\/li><li>if&nbsp;<code>q.op<\/code>&nbsp;is &#8220;OR&#8221; or is not specified.<\/li><\/ul><\/li><li>The default&nbsp;<code>mm<\/code>&nbsp;value is 100% if&nbsp;<code>q.op<\/code>&nbsp;is &#8220;AND&#8221; and the query does not contain any explicit operators other than &#8220;AND&#8221;.<\/li><\/ul>\n\n\n\n<p><code>mm.autoRelax<\/code><\/p>\n\n\n\n<p>If&nbsp;<code>true<\/code>, the number of clauses required (<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-dismax-query-parser.html#mm-minimum-should-match-parameter\">minimum should match<\/a>) will automatically be relaxed if a clause is removed (by e.g., stopwords filter) from some but not all&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-dismax-query-parser.html#qf-query-fields-parameter\"><code>qf<\/code><\/a>&nbsp;fields. Use this parameter as a workaround if you experience that queries return zero hits due to uneven stopword removal between the&nbsp;<code>qf<\/code>&nbsp;fields.<\/p>\n\n\n\n<p>Note that relaxing&nbsp;<code>mm<\/code>&nbsp;may cause undesired side effects, such as hurting the precision of the search, depending on the nature of your index content.<code>boost<\/code>A multivalued list of strings parsed as&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/function-queries.html#available-functions\">functions<\/a>&nbsp;whose results will be multiplied into the score from the main query for all matching documents. This parameter is shorthand for wrapping the query produced by eDisMax using the&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/other-parsers.html#boost-query-parser\"><code>BoostQParserPlugin<\/code><\/a>.<\/p>\n\n\n\n<p>These two examples are equivalent:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>q={!edismax qf=name}ipod\nboost=div(1,sum(1,price))<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>q={!boost b=div(1,sum(1,price)) v=$qq}\nqq={!edismax qf=name}ipod<\/code><\/pre>\n\n\n\n<p><code>lowercaseOperators<\/code>A Boolean parameter indicating if lowercase &#8220;and&#8221; and &#8220;or&#8221; should be treated the same as operators &#8220;AND&#8221; and &#8220;OR&#8221;. Defaults to&nbsp;<code>false<\/code>.<code>ps<\/code>Phrase Slop. The default amount of slop &#8211; distance between terms &#8211; on phrase queries built with&nbsp;<code>pf<\/code>,&nbsp;<code>pf2<\/code>&nbsp;and\/or&nbsp;<code>pf3<\/code>&nbsp;fields (affects boosting). See also the section&nbsp;<a href=\"https:\/\/lucene.apache.org\/solr\/guide\/8_5\/the-extended-dismax-query-parser.html#using-slop\">Using &#8216;Slop&#8217;<\/a>&nbsp;below.<code>pf2<\/code>A multivalued list of fields with optional weights. Similar to&nbsp;<code>pf<\/code>, but based on word&nbsp;<em>pair<\/em>&nbsp;shingles.<code>ps2<\/code>This is similar to&nbsp;<code>ps<\/code>&nbsp;but overrides the slop factor used for&nbsp;<code>pf2<\/code>. If not specified,&nbsp;<code>ps<\/code>&nbsp;is used.<code>pf3<\/code>A multivalued list of fields with optional weights, based on triplets of word shingles. Similar to&nbsp;<code>pf<\/code>, except that instead of building a phrase per field out of all the words in the input, it builds a set of phrases for each field out of word&nbsp;<em>triplet<\/em>&nbsp;shingles.<code>ps3<\/code>This is similar to&nbsp;<code>ps<\/code>&nbsp;but overrides the slop factor used for&nbsp;<code>pf3<\/code>. If not specified,&nbsp;<code>ps<\/code>&nbsp;is used.<code>stopwords<\/code>A Boolean parameter indicating if the&nbsp;<code>StopFilterFactory<\/code>&nbsp;configured in the query analyzer should be respected when parsing the query. If this is set to&nbsp;<code>false<\/code>, then the&nbsp;<code>StopFilterFactory<\/code>&nbsp;in the query analyzer is ignored.<code>uf<\/code><\/p>\n\n\n\n<p>Specifies which schema fields the end user is allowed to explicitly query and to toggle whether embedded Solr queries are supported. This parameter supports wildcards. Multiple fields must be separated by a space.<\/p>\n\n\n\n<p>The default is to allow all fields and no embedded Solr queries, equivalent to&nbsp;<code>uf=* -_query_<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>To allow only title field, use&nbsp;<code>uf=title<\/code>.<\/li><li>To allow title and all fields ending with &#8216;_s&#8217;, use&nbsp;<code>uf=title *_s<\/code>.<\/li><li>To allow all fields except title, use&nbsp;<code>uf=* -title<\/code>.<\/li><li>To disallow all fielded searches, use&nbsp;<code>uf=-*<\/code>.<\/li><li>To allow embedded Solr queries (e.g.,&nbsp;<code>_query_:\"\u2026\u200b\"<\/code>&nbsp;or&nbsp;<code>_val_:\"\u2026\u200b\"<\/code>&nbsp;or&nbsp;<code>{!lucene \u2026\u200b}<\/code>), you&nbsp;<em>must<\/em>&nbsp;expressly enable this by referring to the magic field&nbsp;<code>_query_<\/code>&nbsp;in&nbsp;<code>uf<\/code>.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"field-aliasing-using-per-field-qf-overrides\">Field Aliasing using Per-Field qf Overrides<\/h3>\n\n\n\n<p>Per-field overrides of the&nbsp;<code>qf<\/code>&nbsp;parameter may be specified to provide 1-to-many aliasing from field names specified in the query string, to field names used in the underlying query. By default, no aliasing is used and field names specified in the query string are treated as literal field names in the index.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"using-slop\">Using &#8216;Slop&#8217;<\/h2>\n\n\n\n<p><code>Dismax<\/code>&nbsp;and&nbsp;<code>Edismax<\/code>&nbsp;can run queries against all query fields, and also run a query in the form of a phrase against the phrase fields. (This will work only for boosting documents, not actually for matching.) However, that phrase query can have a &#8216;slop,&#8217; which is the distance between the terms of the query while still considering it a phrase match. For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>q=foo bar\nqf=field1^5 field2^10\npf=field1^50 field2^20\ndefType=dismax<\/code><\/pre>\n\n\n\n<p>With these parameters, the Dismax Query Parser generates a query that looks something like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> (+(field1:foo^5 OR field2:foo^10) AND (field1:bar^5 OR field2:bar^10))<\/code><\/pre>\n\n\n\n<p>But it also generates another query that will only be used for boosting results:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>field1:\"foo bar\"^50 OR field2:\"foo bar\"^20<\/code><\/pre>\n\n\n\n<p>Thus, any document that has the terms &#8220;foo&#8221; and &#8220;bar&#8221; will match; however if some of those documents have both of the terms as a phrase, it will score much higher because it\u2019s more relevant.<\/p>\n\n\n\n<p>If you add the parameter&nbsp;<code>ps<\/code>&nbsp;(phrase slop), the second query will instead be:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ps=10 field1:\"foo bar\"~10^50 OR field2:\"foo bar\"~10^20<\/code><\/pre>\n\n\n\n<p>This means that if the terms &#8220;foo&#8221; and &#8220;bar&#8221; appear in the document with less than 10 terms between each other, the phrase will match. For example the doc that says:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>*Foo* term1 term2 term3 *bar*<\/code><\/pre>\n\n\n\n<p>will match the phrase query.<\/p>\n\n\n\n<p>How does one use phrase slop? Usually it is configured in the request handler (in&nbsp;<code>solrconfig<\/code>).<\/p>\n\n\n\n<p>With query slop (<code>qs<\/code>) the concept is similar, but it applies to explicit phrase queries from the user. For example, if you want to search for a name, you could enter:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>q=\"Hans Anderson\"<\/code><\/pre>\n\n\n\n<p>A document that contains &#8220;Hans Anderson&#8221; will match, but a document that contains the middle name &#8220;Christian&#8221; or where the name is written with the last name first (&#8220;Anderson, Hans&#8221;) won\u2019t. For those cases one could configure the query field&nbsp;<code>qs<\/code>, so that even if the user searches for an explicit phrase query, a slop is applied.<\/p>\n\n\n\n<p>Finally, in addition to the phrase fields (<code>pf<\/code>) parameter,&nbsp;<code>edismax<\/code>&nbsp;also supports the&nbsp;<code>pf2<\/code>&nbsp;and&nbsp;<code>pf3<\/code>&nbsp;parameters, for fields over which to create bigram and trigram phrase queries. The phrase slop for these parameters&#8217; queries can be specified using the&nbsp;<code>ps2<\/code>&nbsp;and&nbsp;<code>ps3<\/code>&nbsp;parameters, respectively. If you use&nbsp;<code>pf2<\/code>\/<code>pf3<\/code>&nbsp;but not&nbsp;<code>ps2<\/code>\/<code>ps3<\/code>, then the phrase slop for these parameters&#8217; queries will be taken from the&nbsp;<code>ps<\/code>&nbsp;parameter, if any.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"synonyms-expansion-in-phrase-queries-with-slop\">Synonyms Expansion in Phrase Queries with Slop<\/h3>\n\n\n\n<p>When a phrase query with slop (e.g.,&nbsp;<code>pf<\/code>&nbsp;with&nbsp;<code>ps<\/code>) triggers synonym expansions, a separate clause will be generated for each combination of synonyms. For example, with configured synonyms&nbsp;<code>dog,canine<\/code>&nbsp;and&nbsp;<code>cat,feline<\/code>, the query&nbsp;<code>\"dog chased cat\"<\/code>&nbsp;will generate the following phrase query clauses:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>\"dog chased cat\"<\/code><\/li><li><code>\"canine chased cat\"<\/code><\/li><li><code>\"dog chased feline\"<\/code><\/li><li><code>\"canine chased feline\"<\/code><\/li><\/ul>\n\n\n\n<p>This is it for today, stay tuned for more informative blogs in future.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Extended DisMax (eDisMax) query parser is an improved version of the&nbsp;DisMax query parser. In addition to supporting all the DisMax query parser parameters, Extended Dismax: supports&nbsp;Solr\u2019s standard query parser&nbsp;syntax such as (non-exhaustive list): boolean operators such as AND (+, &amp;&amp;), OR (||), NOT (-). optionally treats lowercase &#8220;and&#8221; and &#8220;or&#8221; as &#8220;AND&#8221; and &#8220;OR&#8221; in Lucene syntax mode optionally allows embedded queries using other query parsers or functions includes improved smart partial escaping in the case of syntax errors; fielded queries, +\/-, and phrase queries are still supported in this mode. improves proximity boosting by using word shingles; you do not need the query to match all words in the document before proximity boosting is applied. includes advanced stopword handling: stopwords are not required in the mandatory part of the query but are still used in the proximity boosting part. If a query consists of all stopwords, such as &#8220;to be or not to be&#8221;, then all words are required. includes improved boost function: in Extended DisMax, the&nbsp;boost&nbsp;function is a multiplier&nbsp;rather than an addend, improving your boost results; the additive boost functions of DisMax (bf&nbsp;and&nbsp;bq) are also supported. supports pure negative nested queries: queries such as&nbsp;+foo (-foo)&nbsp;will match all documents. lets you specify which fields the end user is allowed to query, and to disallow direct fielded searches. Extended DisMax Parameters In addition to all the&nbsp;DisMax parameters, Extended DisMax includes these query parameters:sowSplit on whitespace. If set to&nbsp;true, text analysis is invoked separately for each individual whitespace-separated term. The default is&nbsp;false; whitespace-separated term sequences will be provided to text analysis in one shot, enabling proper function of analysis filters that operate over term sequences, e.g., multi-word synonyms and shingles.mmMinimum should match. See the&nbsp;DisMax mm parameter&nbsp;for a description of&nbsp;mm. The default eDisMax&nbsp;mm&nbsp;value differs from that of DisMax: The default&nbsp;mm&nbsp;value is 0%: if the query contains an explicit operator other than &#8220;AND&#8221; (&#8220;-&#8220;, &#8220;+&#8221;, &#8220;OR&#8221;, &#8220;NOT&#8221;); or if&nbsp;q.op&nbsp;is &#8220;OR&#8221; or is not specified. The default&nbsp;mm&nbsp;value is 100% if&nbsp;q.op&nbsp;is &#8220;AND&#8221; and the query does not contain any explicit operators other than &#8220;AND&#8221;. mm.autoRelax If&nbsp;true, the number of clauses required (minimum should match) will automatically be relaxed if a clause is removed (by e.g., stopwords filter) from some but not all&nbsp;qf&nbsp;fields. Use this parameter as a workaround if you experience that queries return zero hits due to uneven stopword removal between the&nbsp;qf&nbsp;fields. Note that relaxing&nbsp;mm&nbsp;may cause undesired side effects, such as hurting the precision of the search, depending on the nature of your index content.boostA multivalued list of strings parsed as&nbsp;functions&nbsp;whose results will be multiplied into the score from the main query for all matching documents. This parameter is shorthand for wrapping the query produced by eDisMax using the&nbsp;BoostQParserPlugin. These two examples are equivalent: lowercaseOperatorsA Boolean parameter indicating if lowercase &#8220;and&#8221; and &#8220;or&#8221; should be treated the same as operators &#8220;AND&#8221; and &#8220;OR&#8221;. Defaults to&nbsp;false.psPhrase Slop. The default amount of slop &#8211; distance between terms &#8211; on phrase queries built with&nbsp;pf,&nbsp;pf2&nbsp;and\/or&nbsp;pf3&nbsp;fields (affects boosting). See also the section&nbsp;Using &#8216;Slop&#8217;&nbsp;below.pf2A multivalued list of fields with optional weights. Similar to&nbsp;pf, but based on word&nbsp;pair&nbsp;shingles.ps2This is similar to&nbsp;ps&nbsp;but overrides the slop factor used for&nbsp;pf2. If not specified,&nbsp;ps&nbsp;is used.pf3A multivalued list of fields with optional weights, based on triplets of word shingles. Similar to&nbsp;pf, except that instead of building a phrase per field out of all the words in the input, it builds a set of phrases for each field out of word&nbsp;triplet&nbsp;shingles.ps3This is similar to&nbsp;ps&nbsp;but overrides the slop factor used for&nbsp;pf3. If not specified,&nbsp;ps&nbsp;is used.stopwordsA Boolean parameter indicating if the&nbsp;StopFilterFactory&nbsp;configured in the query analyzer should be respected when parsing the query. If this is set to&nbsp;false, then the&nbsp;StopFilterFactory&nbsp;in the query analyzer is ignored.uf Specifies which schema fields the end user is allowed to explicitly query and to toggle whether embedded Solr queries are supported. This parameter supports wildcards. Multiple fields must be separated by a space. The default is to allow all fields and no embedded Solr queries, equivalent to&nbsp;uf=* -_query_. To allow only title field, use&nbsp;uf=title. To allow title and all fields ending with &#8216;_s&#8217;, use&nbsp;uf=title *_s. To allow all fields except title, use&nbsp;uf=* -title. To disallow all fielded searches, use&nbsp;uf=-*. To allow embedded Solr queries (e.g.,&nbsp;_query_:&#8221;\u2026\u200b&#8221;&nbsp;or&nbsp;_val_:&#8221;\u2026\u200b&#8221;&nbsp;or&nbsp;{!lucene \u2026\u200b}), you&nbsp;must&nbsp;expressly enable this by referring to the magic field&nbsp;_query_&nbsp;in&nbsp;uf. Field Aliasing using Per-Field qf Overrides Per-field overrides of the&nbsp;qf&nbsp;parameter may be specified to provide 1-to-many aliasing from field names specified in the query string, to field names used in the underlying query. By default, no aliasing is used and field names specified in the query string are treated as literal field names in the index. Using &#8216;Slop&#8217; Dismax&nbsp;and&nbsp;Edismax&nbsp;can run queries against all query fields, and also run a query in the form of a phrase against the phrase fields. (This will work only for boosting documents, not actually for matching.) However, that phrase query can have a &#8216;slop,&#8217; which is the distance between the terms of the query while still considering it a phrase match. For example: With these parameters, the Dismax Query Parser generates a query that looks something like this: But it also generates another query that will only be used for boosting results: Thus, any document that has the terms &#8220;foo&#8221; and &#8220;bar&#8221; will match; however if some of those documents have both of the terms as a phrase, it will score much higher because it\u2019s more relevant. If you add the parameter&nbsp;ps&nbsp;(phrase slop), the second query will instead be: This means that if the terms &#8220;foo&#8221; and &#8220;bar&#8221; appear in the document with less than 10 terms between each other, the phrase will match. For example the doc that says: will match the phrase query. How does one use phrase slop? Usually it is configured in the request handler (in&nbsp;solrconfig). With query slop (qs) the concept is similar, but it applies to explicit phrase queries from the user. For example, if you want to search for a name, you could enter: A document that contains &#8220;Hans Anderson&#8221; will match, but a document that contains the middle name &#8220;Christian&#8221; or where the name is [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1349,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[120,121,122,115],"class_list":["post-1317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solr","tag-edismax","tag-edismax-parser","tag-extended-dismax-parser","tag-parser"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Extended DisMax (eDismax) Query Parser - Ultimate Solr Guide - Aeologic Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Extended DisMax (eDismax) Query Parser - Ultimate Solr Guide - Aeologic Blog\" \/>\n<meta property=\"og:description\" content=\"The Extended DisMax (eDisMax) query parser is an improved version of the&nbsp;DisMax query parser. In addition to supporting all the DisMax query parser parameters, Extended Dismax: supports&nbsp;Solr\u2019s standard query parser&nbsp;syntax such as (non-exhaustive list): boolean operators such as AND (+, &amp;&amp;), OR (||), NOT (-). optionally treats lowercase &#8220;and&#8221; and &#8220;or&#8221; as &#8220;AND&#8221; and &#8220;OR&#8221; in Lucene syntax mode optionally allows embedded queries using other query parsers or functions includes improved smart partial escaping in the case of syntax errors; fielded queries, +\/-, and phrase queries are still supported in this mode. improves proximity boosting by using word shingles; you do not need the query to match all words in the document before proximity boosting is applied. includes advanced stopword handling: stopwords are not required in the mandatory part of the query but are still used in the proximity boosting part. If a query consists of all stopwords, such as &#8220;to be or not to be&#8221;, then all words are required. includes improved boost function: in Extended DisMax, the&nbsp;boost&nbsp;function is a multiplier&nbsp;rather than an addend, improving your boost results; the additive boost functions of DisMax (bf&nbsp;and&nbsp;bq) are also supported. supports pure negative nested queries: queries such as&nbsp;+foo (-foo)&nbsp;will match all documents. lets you specify which fields the end user is allowed to query, and to disallow direct fielded searches. Extended DisMax Parameters In addition to all the&nbsp;DisMax parameters, Extended DisMax includes these query parameters:sowSplit on whitespace. If set to&nbsp;true, text analysis is invoked separately for each individual whitespace-separated term. The default is&nbsp;false; whitespace-separated term sequences will be provided to text analysis in one shot, enabling proper function of analysis filters that operate over term sequences, e.g., multi-word synonyms and shingles.mmMinimum should match. See the&nbsp;DisMax mm parameter&nbsp;for a description of&nbsp;mm. The default eDisMax&nbsp;mm&nbsp;value differs from that of DisMax: The default&nbsp;mm&nbsp;value is 0%: if the query contains an explicit operator other than &#8220;AND&#8221; (&#8220;-&#8220;, &#8220;+&#8221;, &#8220;OR&#8221;, &#8220;NOT&#8221;); or if&nbsp;q.op&nbsp;is &#8220;OR&#8221; or is not specified. The default&nbsp;mm&nbsp;value is 100% if&nbsp;q.op&nbsp;is &#8220;AND&#8221; and the query does not contain any explicit operators other than &#8220;AND&#8221;. mm.autoRelax If&nbsp;true, the number of clauses required (minimum should match) will automatically be relaxed if a clause is removed (by e.g., stopwords filter) from some but not all&nbsp;qf&nbsp;fields. Use this parameter as a workaround if you experience that queries return zero hits due to uneven stopword removal between the&nbsp;qf&nbsp;fields. Note that relaxing&nbsp;mm&nbsp;may cause undesired side effects, such as hurting the precision of the search, depending on the nature of your index content.boostA multivalued list of strings parsed as&nbsp;functions&nbsp;whose results will be multiplied into the score from the main query for all matching documents. This parameter is shorthand for wrapping the query produced by eDisMax using the&nbsp;BoostQParserPlugin. These two examples are equivalent: lowercaseOperatorsA Boolean parameter indicating if lowercase &#8220;and&#8221; and &#8220;or&#8221; should be treated the same as operators &#8220;AND&#8221; and &#8220;OR&#8221;. Defaults to&nbsp;false.psPhrase Slop. The default amount of slop &#8211; distance between terms &#8211; on phrase queries built with&nbsp;pf,&nbsp;pf2&nbsp;and\/or&nbsp;pf3&nbsp;fields (affects boosting). See also the section&nbsp;Using &#8216;Slop&#8217;&nbsp;below.pf2A multivalued list of fields with optional weights. Similar to&nbsp;pf, but based on word&nbsp;pair&nbsp;shingles.ps2This is similar to&nbsp;ps&nbsp;but overrides the slop factor used for&nbsp;pf2. If not specified,&nbsp;ps&nbsp;is used.pf3A multivalued list of fields with optional weights, based on triplets of word shingles. Similar to&nbsp;pf, except that instead of building a phrase per field out of all the words in the input, it builds a set of phrases for each field out of word&nbsp;triplet&nbsp;shingles.ps3This is similar to&nbsp;ps&nbsp;but overrides the slop factor used for&nbsp;pf3. If not specified,&nbsp;ps&nbsp;is used.stopwordsA Boolean parameter indicating if the&nbsp;StopFilterFactory&nbsp;configured in the query analyzer should be respected when parsing the query. If this is set to&nbsp;false, then the&nbsp;StopFilterFactory&nbsp;in the query analyzer is ignored.uf Specifies which schema fields the end user is allowed to explicitly query and to toggle whether embedded Solr queries are supported. This parameter supports wildcards. Multiple fields must be separated by a space. The default is to allow all fields and no embedded Solr queries, equivalent to&nbsp;uf=* -_query_. To allow only title field, use&nbsp;uf=title. To allow title and all fields ending with &#8216;_s&#8217;, use&nbsp;uf=title *_s. To allow all fields except title, use&nbsp;uf=* -title. To disallow all fielded searches, use&nbsp;uf=-*. To allow embedded Solr queries (e.g.,&nbsp;_query_:&quot;\u2026\u200b&quot;&nbsp;or&nbsp;_val_:&quot;\u2026\u200b&quot;&nbsp;or&nbsp;{!lucene \u2026\u200b}), you&nbsp;must&nbsp;expressly enable this by referring to the magic field&nbsp;_query_&nbsp;in&nbsp;uf. Field Aliasing using Per-Field qf Overrides Per-field overrides of the&nbsp;qf&nbsp;parameter may be specified to provide 1-to-many aliasing from field names specified in the query string, to field names used in the underlying query. By default, no aliasing is used and field names specified in the query string are treated as literal field names in the index. Using &#8216;Slop&#8217; Dismax&nbsp;and&nbsp;Edismax&nbsp;can run queries against all query fields, and also run a query in the form of a phrase against the phrase fields. (This will work only for boosting documents, not actually for matching.) However, that phrase query can have a &#8216;slop,&#8217; which is the distance between the terms of the query while still considering it a phrase match. For example: With these parameters, the Dismax Query Parser generates a query that looks something like this: But it also generates another query that will only be used for boosting results: Thus, any document that has the terms &#8220;foo&#8221; and &#8220;bar&#8221; will match; however if some of those documents have both of the terms as a phrase, it will score much higher because it\u2019s more relevant. If you add the parameter&nbsp;ps&nbsp;(phrase slop), the second query will instead be: This means that if the terms &#8220;foo&#8221; and &#8220;bar&#8221; appear in the document with less than 10 terms between each other, the phrase will match. For example the doc that says: will match the phrase query. How does one use phrase slop? Usually it is configured in the request handler (in&nbsp;solrconfig). With query slop (qs) the concept is similar, but it applies to explicit phrase queries from the user. For example, if you want to search for a name, you could enter: A document that contains &#8220;Hans Anderson&#8221; will match, but a document that contains the middle name &#8220;Christian&#8221; or where the name is [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\" \/>\n<meta property=\"og:site_name\" content=\"Aeologic Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AeoLogicTech\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-08T04:30:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-08T06:44:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"622\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Manoj Kumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@aeologictech\" \/>\n<meta name=\"twitter:site\" content=\"@aeologictech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Manoj Kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\"},\"author\":{\"name\":\"Manoj Kumar\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/#\/schema\/person\/13549984ba8e5f441cc733ed20d7daa4\"},\"headline\":\"The Extended DisMax (eDismax) Query Parser &#8211; Ultimate Solr Guide\",\"datePublished\":\"2020-06-08T04:30:48+00:00\",\"dateModified\":\"2020-06-08T06:44:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\"},\"wordCount\":1318,\"publisher\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png\",\"keywords\":[\"edismax\",\"edismax parser\",\"extended dismax parser\",\"parser\"],\"articleSection\":[\"Solr\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\",\"url\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\",\"name\":\"The Extended DisMax (eDismax) Query Parser - Ultimate Solr Guide - Aeologic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png\",\"datePublished\":\"2020-06-08T04:30:48+00:00\",\"dateModified\":\"2020-06-08T06:44:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage\",\"url\":\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png\",\"contentUrl\":\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png\",\"width\":1080,\"height\":622},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.aeologic.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Extended DisMax (eDismax) Query Parser &#8211; Ultimate Solr Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/#website\",\"url\":\"https:\/\/www.aeologic.com\/blog\/\",\"name\":\"Aeologic Blog\",\"description\":\"Aeologic\",\"publisher\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.aeologic.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/#organization\",\"name\":\"AeoLogic Technologies\",\"url\":\"https:\/\/www.aeologic.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2022\/05\/new-logo-aeo.jpg\",\"contentUrl\":\"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2022\/05\/new-logo-aeo.jpg\",\"width\":385,\"height\":162,\"caption\":\"AeoLogic Technologies\"},\"image\":{\"@id\":\"https:\/\/www.aeologic.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/AeoLogicTech\/\",\"https:\/\/x.com\/aeologictech\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/#\/schema\/person\/13549984ba8e5f441cc733ed20d7daa4\",\"name\":\"Manoj Kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.aeologic.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/24ce77602da5eb5715d74a95733f6c7548e2af73f5a493f9bc0bf55f611d025e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/24ce77602da5eb5715d74a95733f6c7548e2af73f5a493f9bc0bf55f611d025e?s=96&d=mm&r=g\",\"caption\":\"Manoj Kumar\"},\"description\":\"Manoj Kumar is a seasoned Digital Marketing Manager and passionate Tech Blogger with deep expertise in SEO, AI trends, and emerging digital technologies. He writes about innovative solutions that drive growth and transformation across industry. Featured on - YOURSTORY | TECHSLING | ELEARNINGINDUSTRY | DATASCIENCECENTRAL | TIMESOFINDIA | MEDIUM | DATAFLOQ\",\"sameAs\":[\"https:\/\/www.aeologic.com\/\",\"https:\/\/www.linkedin.com\/in\/manoj-kumar-rajput\/\"],\"url\":\"https:\/\/www.aeologic.com\/blog\/author\/manoj\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Extended DisMax (eDismax) Query Parser - Ultimate Solr Guide - Aeologic Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/","og_locale":"en_US","og_type":"article","og_title":"The Extended DisMax (eDismax) Query Parser - Ultimate Solr Guide - Aeologic Blog","og_description":"The Extended DisMax (eDisMax) query parser is an improved version of the&nbsp;DisMax query parser. In addition to supporting all the DisMax query parser parameters, Extended Dismax: supports&nbsp;Solr\u2019s standard query parser&nbsp;syntax such as (non-exhaustive list): boolean operators such as AND (+, &amp;&amp;), OR (||), NOT (-). optionally treats lowercase &#8220;and&#8221; and &#8220;or&#8221; as &#8220;AND&#8221; and &#8220;OR&#8221; in Lucene syntax mode optionally allows embedded queries using other query parsers or functions includes improved smart partial escaping in the case of syntax errors; fielded queries, +\/-, and phrase queries are still supported in this mode. improves proximity boosting by using word shingles; you do not need the query to match all words in the document before proximity boosting is applied. includes advanced stopword handling: stopwords are not required in the mandatory part of the query but are still used in the proximity boosting part. If a query consists of all stopwords, such as &#8220;to be or not to be&#8221;, then all words are required. includes improved boost function: in Extended DisMax, the&nbsp;boost&nbsp;function is a multiplier&nbsp;rather than an addend, improving your boost results; the additive boost functions of DisMax (bf&nbsp;and&nbsp;bq) are also supported. supports pure negative nested queries: queries such as&nbsp;+foo (-foo)&nbsp;will match all documents. lets you specify which fields the end user is allowed to query, and to disallow direct fielded searches. Extended DisMax Parameters In addition to all the&nbsp;DisMax parameters, Extended DisMax includes these query parameters:sowSplit on whitespace. If set to&nbsp;true, text analysis is invoked separately for each individual whitespace-separated term. The default is&nbsp;false; whitespace-separated term sequences will be provided to text analysis in one shot, enabling proper function of analysis filters that operate over term sequences, e.g., multi-word synonyms and shingles.mmMinimum should match. See the&nbsp;DisMax mm parameter&nbsp;for a description of&nbsp;mm. The default eDisMax&nbsp;mm&nbsp;value differs from that of DisMax: The default&nbsp;mm&nbsp;value is 0%: if the query contains an explicit operator other than &#8220;AND&#8221; (&#8220;-&#8220;, &#8220;+&#8221;, &#8220;OR&#8221;, &#8220;NOT&#8221;); or if&nbsp;q.op&nbsp;is &#8220;OR&#8221; or is not specified. The default&nbsp;mm&nbsp;value is 100% if&nbsp;q.op&nbsp;is &#8220;AND&#8221; and the query does not contain any explicit operators other than &#8220;AND&#8221;. mm.autoRelax If&nbsp;true, the number of clauses required (minimum should match) will automatically be relaxed if a clause is removed (by e.g., stopwords filter) from some but not all&nbsp;qf&nbsp;fields. Use this parameter as a workaround if you experience that queries return zero hits due to uneven stopword removal between the&nbsp;qf&nbsp;fields. Note that relaxing&nbsp;mm&nbsp;may cause undesired side effects, such as hurting the precision of the search, depending on the nature of your index content.boostA multivalued list of strings parsed as&nbsp;functions&nbsp;whose results will be multiplied into the score from the main query for all matching documents. This parameter is shorthand for wrapping the query produced by eDisMax using the&nbsp;BoostQParserPlugin. These two examples are equivalent: lowercaseOperatorsA Boolean parameter indicating if lowercase &#8220;and&#8221; and &#8220;or&#8221; should be treated the same as operators &#8220;AND&#8221; and &#8220;OR&#8221;. Defaults to&nbsp;false.psPhrase Slop. The default amount of slop &#8211; distance between terms &#8211; on phrase queries built with&nbsp;pf,&nbsp;pf2&nbsp;and\/or&nbsp;pf3&nbsp;fields (affects boosting). See also the section&nbsp;Using &#8216;Slop&#8217;&nbsp;below.pf2A multivalued list of fields with optional weights. Similar to&nbsp;pf, but based on word&nbsp;pair&nbsp;shingles.ps2This is similar to&nbsp;ps&nbsp;but overrides the slop factor used for&nbsp;pf2. If not specified,&nbsp;ps&nbsp;is used.pf3A multivalued list of fields with optional weights, based on triplets of word shingles. Similar to&nbsp;pf, except that instead of building a phrase per field out of all the words in the input, it builds a set of phrases for each field out of word&nbsp;triplet&nbsp;shingles.ps3This is similar to&nbsp;ps&nbsp;but overrides the slop factor used for&nbsp;pf3. If not specified,&nbsp;ps&nbsp;is used.stopwordsA Boolean parameter indicating if the&nbsp;StopFilterFactory&nbsp;configured in the query analyzer should be respected when parsing the query. If this is set to&nbsp;false, then the&nbsp;StopFilterFactory&nbsp;in the query analyzer is ignored.uf Specifies which schema fields the end user is allowed to explicitly query and to toggle whether embedded Solr queries are supported. This parameter supports wildcards. Multiple fields must be separated by a space. The default is to allow all fields and no embedded Solr queries, equivalent to&nbsp;uf=* -_query_. To allow only title field, use&nbsp;uf=title. To allow title and all fields ending with &#8216;_s&#8217;, use&nbsp;uf=title *_s. To allow all fields except title, use&nbsp;uf=* -title. To disallow all fielded searches, use&nbsp;uf=-*. To allow embedded Solr queries (e.g.,&nbsp;_query_:\"\u2026\u200b\"&nbsp;or&nbsp;_val_:\"\u2026\u200b\"&nbsp;or&nbsp;{!lucene \u2026\u200b}), you&nbsp;must&nbsp;expressly enable this by referring to the magic field&nbsp;_query_&nbsp;in&nbsp;uf. Field Aliasing using Per-Field qf Overrides Per-field overrides of the&nbsp;qf&nbsp;parameter may be specified to provide 1-to-many aliasing from field names specified in the query string, to field names used in the underlying query. By default, no aliasing is used and field names specified in the query string are treated as literal field names in the index. Using &#8216;Slop&#8217; Dismax&nbsp;and&nbsp;Edismax&nbsp;can run queries against all query fields, and also run a query in the form of a phrase against the phrase fields. (This will work only for boosting documents, not actually for matching.) However, that phrase query can have a &#8216;slop,&#8217; which is the distance between the terms of the query while still considering it a phrase match. For example: With these parameters, the Dismax Query Parser generates a query that looks something like this: But it also generates another query that will only be used for boosting results: Thus, any document that has the terms &#8220;foo&#8221; and &#8220;bar&#8221; will match; however if some of those documents have both of the terms as a phrase, it will score much higher because it\u2019s more relevant. If you add the parameter&nbsp;ps&nbsp;(phrase slop), the second query will instead be: This means that if the terms &#8220;foo&#8221; and &#8220;bar&#8221; appear in the document with less than 10 terms between each other, the phrase will match. For example the doc that says: will match the phrase query. How does one use phrase slop? Usually it is configured in the request handler (in&nbsp;solrconfig). With query slop (qs) the concept is similar, but it applies to explicit phrase queries from the user. For example, if you want to search for a name, you could enter: A document that contains &#8220;Hans Anderson&#8221; will match, but a document that contains the middle name &#8220;Christian&#8221; or where the name is [&hellip;]","og_url":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/","og_site_name":"Aeologic Blog","article_publisher":"https:\/\/www.facebook.com\/AeoLogicTech\/","article_published_time":"2020-06-08T04:30:48+00:00","article_modified_time":"2020-06-08T06:44:33+00:00","og_image":[{"width":1080,"height":622,"url":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png","type":"image\/png"}],"author":"Manoj Kumar","twitter_card":"summary_large_image","twitter_creator":"@aeologictech","twitter_site":"@aeologictech","twitter_misc":{"Written by":"Manoj Kumar","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#article","isPartOf":{"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/"},"author":{"name":"Manoj Kumar","@id":"https:\/\/www.aeologic.com\/blog\/#\/schema\/person\/13549984ba8e5f441cc733ed20d7daa4"},"headline":"The Extended DisMax (eDismax) Query Parser &#8211; Ultimate Solr Guide","datePublished":"2020-06-08T04:30:48+00:00","dateModified":"2020-06-08T06:44:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/"},"wordCount":1318,"publisher":{"@id":"https:\/\/www.aeologic.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png","keywords":["edismax","edismax parser","extended dismax parser","parser"],"articleSection":["Solr"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/","url":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/","name":"The Extended DisMax (eDismax) Query Parser - Ultimate Solr Guide - Aeologic Blog","isPartOf":{"@id":"https:\/\/www.aeologic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage"},"image":{"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png","datePublished":"2020-06-08T04:30:48+00:00","dateModified":"2020-06-08T06:44:33+00:00","breadcrumb":{"@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#primaryimage","url":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png","contentUrl":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2020\/06\/The-Extended-DisMax-eDismax-Query-Parser-in-solr.png","width":1080,"height":622},{"@type":"BreadcrumbList","@id":"https:\/\/www.aeologic.com\/blog\/ultimate-solr-guide16-the-extended-dismax-edismax-query-parser\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.aeologic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Extended DisMax (eDismax) Query Parser &#8211; Ultimate Solr Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.aeologic.com\/blog\/#website","url":"https:\/\/www.aeologic.com\/blog\/","name":"Aeologic Blog","description":"Aeologic","publisher":{"@id":"https:\/\/www.aeologic.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.aeologic.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.aeologic.com\/blog\/#organization","name":"AeoLogic Technologies","url":"https:\/\/www.aeologic.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.aeologic.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2022\/05\/new-logo-aeo.jpg","contentUrl":"https:\/\/www.aeologic.com\/blog\/wp-content\/uploads\/2022\/05\/new-logo-aeo.jpg","width":385,"height":162,"caption":"AeoLogic Technologies"},"image":{"@id":"https:\/\/www.aeologic.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/AeoLogicTech\/","https:\/\/x.com\/aeologictech"]},{"@type":"Person","@id":"https:\/\/www.aeologic.com\/blog\/#\/schema\/person\/13549984ba8e5f441cc733ed20d7daa4","name":"Manoj Kumar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.aeologic.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/24ce77602da5eb5715d74a95733f6c7548e2af73f5a493f9bc0bf55f611d025e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/24ce77602da5eb5715d74a95733f6c7548e2af73f5a493f9bc0bf55f611d025e?s=96&d=mm&r=g","caption":"Manoj Kumar"},"description":"Manoj Kumar is a seasoned Digital Marketing Manager and passionate Tech Blogger with deep expertise in SEO, AI trends, and emerging digital technologies. He writes about innovative solutions that drive growth and transformation across industry. Featured on - YOURSTORY | TECHSLING | ELEARNINGINDUSTRY | DATASCIENCECENTRAL | TIMESOFINDIA | MEDIUM | DATAFLOQ","sameAs":["https:\/\/www.aeologic.com\/","https:\/\/www.linkedin.com\/in\/manoj-kumar-rajput\/"],"url":"https:\/\/www.aeologic.com\/blog\/author\/manoj\/"}]}},"_links":{"self":[{"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/posts\/1317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/comments?post=1317"}],"version-history":[{"count":0,"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/posts\/1317\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/media\/1349"}],"wp:attachment":[{"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/media?parent=1317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/categories?post=1317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aeologic.com\/blog\/wp-json\/wp\/v2\/tags?post=1317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}