Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regarding the Full text search in ASC #1074

Open
Lovekeshgoel opened this issue Jan 10, 2024 · 5 comments
Open

Regarding the Full text search in ASC #1074

Lovekeshgoel opened this issue Jan 10, 2024 · 5 comments
Labels
needs more info Needs more information from the issue creator

Comments

@Lovekeshgoel
Copy link

Hi All,

We have encountered with one problem that if we give a name of the asset with special character or other language character in the full text search it doesn't give me the results. But AEM DAM is able to give the same asset result properly.

For example: - We have a title of one asset with name like below Asset share common search is not able to give me this asset.
"Produktpräsentation".

We get this result with different filter options.

Is this supported by the ASC or not.

Can you please confirm us?

@davidjgonzalez
Copy link
Contributor

@Lovekeshgoel can you post the underlying QueryBuilder/Xpath/JCR SQL 2 query that is generated for this?

@davidjgonzalez
Copy link
Contributor

@Lovekeshgoel this works for me:
2024-01-10 at 2 02 PM

Can you provide more exact details how the asset is named, where this value exists in the relation to the asset, as well as the underlying QB/Xpath/JCR SQL2 query? Based on this quick test it seems to work for me but im not sure if there are nuances that arent included in the issue.

@davidjgonzalez davidjgonzalez added the needs more info Needs more information from the issue creator label Jan 10, 2024
@Lovekeshgoel
Copy link
Author

Hi David,

This is the query I am getting.
10001_group.propertyvalues.property=./jcr:content/metadata/dc:format
10001_group.propertyvalues.operation=equals
10001_group.propertyvalues.values=application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf,text/plain,application/zip
fulltext=Produktpr%C3%A4sentation%20Fendt%20600%20Vario
90002_group.1_propertyvalues.property=./jcr:content/metadata/dc:brand
90002_group.1_propertyvalues.property.operation=equals
90002_group.1_propertyvalues.0_values=LAVERDA,CHALLENGER,MASSEY%20FERGUSON,FELLA,FENDT,LELY,VALTRA,SAMPO
90003_group.1_propertyvalues.property=./jcr:content/metadata/dc:accessLevels
90003_group.1_propertyvalues.property.operation=equals
90003_group.1_propertyvalues.0_values=AGCO%20Employee
90004_group.1_propertyvalues.property=./jcr:content/metadata/dc:marketAccess
90004_group.1_propertyvalues.property.operation=equals
90004_group.1_propertyvalues.0_values=global,de,dz,ao,ag,ar,au,at,bs,bn,bb,be,bz,bj,bo,bw,br,bg,bf,mm,bi,kh,cm,ca,cv,cf,td,cl,cn,co,km,cg,cr,hr,cz,cd,dk,dj,do,ec,eg,sv,gq,er,ee,et,fj,fi,fr,pf,ga,gm,de,gh,global,gr,gp,gt,gn,gy,hn,hk,hu,is,in,id,ie,il,it,ci,jm,jp,ke,sz,la,lv,ls,lr,ly,lt,mg,mw,my,ml,mq,mr,mu,mx,ma,mz,na,nl,nc,nz,ni,ne,ng,no,pa,pg,py,pe,ph,pl,pt,pr,ro,ru,rw,st,sn,rs,sc,sl,sg,sk,si,sb,so,za,kr,ss,es,lk,sd,sr,se,ch,tw,tz,th,tl,tg,to,tt,tn,tr,ug,ua,ae,gb,us,uy,vu,ve,vn,zm,zw
dropdownValue=Document
type=dam:Asset
5_group.p.limit=1000
p.guessTotal=true

URL :- Domainname/asc/de/de_de/home/results-page.html

image

@Lovekeshgoel
Copy link
Author

This is same with tags too. PFB the query.

/asc/de/de_de/home/results-page.html
10001_group.propertyvalues.property=./jcr:content/metadata/dc:format
10001_group.propertyvalues.operation=equals
10001_group.propertyvalues.values=application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf,text/plain,image/jpeg,image/gif,image/png,image/tiff,image/vnd.adobe.photoshop,application/postscript,video/quicktime,video/mp4,application/zip
fulltext=S%C3%BCddeutsche%20Zeitung
90002_group.1_propertyvalues.property=./jcr:content/metadata/dc:brand
90002_group.1_propertyvalues.property.operation=equals
90002_group.1_propertyvalues.0_values=LAVERDA,CHALLENGER,MASSEY%20FERGUSON,FELLA,FENDT,LELY,VALTRA,SAMPO
90003_group.1_propertyvalues.property=./jcr:content/metadata/dc:accessLevels
90003_group.1_propertyvalues.property.operation=equals
90003_group.1_propertyvalues.0_values=AGCO%20Employee
90004_group.1_propertyvalues.property=./jcr:content/metadata/dc:marketAccess
90004_group.1_propertyvalues.property.operation=equals
90004_group.1_propertyvalues.0_values=global,de,dz,ao,ag,ar,au,at,bs,bn,bb,be,bz,bj,bo,bw,br,bg,bf,mm,bi,kh,cm,ca,cv,cf,td,cl,cn,co,km,cg,cr,hr,cz,cd,dk,dj,do,ec,eg,sv,gq,er,ee,et,fj,fi,fr,pf,ga,gm,de,gh,global,gr,gp,gt,gn,gy,hn,hk,hu,is,in,id,ie,il,it,ci,jm,jp,ke,sz,la,lv,ls,lr,ly,lt,mg,mw,my,ml,mq,mr,mu,mx,ma,mz,na,nl,nc,nz,ni,ne,ng,no,pa,pg,py,pe,ph,pl,pt,pr,ro,ru,rw,st,sn,rs,sc,sl,sg,sk,si,sb,so,za,kr,ss,es,lk,sd,sr,se,ch,tw,tz,th,tl,tg,to,tt,tn,tr,ug,ua,ae,gb,us,uy,vu,ve,vn,zm,zw
dropdownValue=All%20Types
type=dam:Asset
5_group.p.limit=1000
p.guessTotal=true

image

I have searched with 'Süddeutsche Zeitung' But If I have search with Zeitung I get a result.

image

@davidjgonzalez
Copy link
Contributor

@Lovekeshgoel ... I cant seem to replicate this ... it looks like your query parameters are coming as escaped, and thats how theyre getting fed into AEM Query engine ... but if I perform a search for that term on my AEM CS w/ latest ASC, mine arent escaped - for example the string: Produktpräsentation Fendt 600 Vario exists as such, without escaping the extended characters.

Can you check ot make sure they are only encoded once when the params are sent clientside?

2024-02-09 at 1 55 PM

It almost feels like theres something (maybe a CDN/web server/something?) that is double-encoding these values, so when they get unencoded in ASC, its just unencoding them to the encoded value.

This should work- and does for me... not sure why its not for you ...

09.02.2024 13:47:42.966 *INFO* [[0:0:0:0:0:0:0:1] [1707504462961] GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json HTTP/1.1] com.day.cq.wcm.core.impl.designer.SearchPathLimiter Search path limiter configured with searchPathLimiterFeatureToggleOn: true and searchPathThreshold: true.
09.02.2024 13:47:43.048 *INFO* [FelixLogListener] Events.Service.org.apache.sling.tracer Service [6517, [ch.qos.logback.classic.turbo.TurboFilter]] ServiceEvent REGISTERED
09.02.2024 13:47:43.051 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl minCost: 2.05 of index :nodeType < best Cost: 2.0 from index: property. Further index evaluation will be skipped
09.02.2024 13:47:43.054 *INFO* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] com.day.cq.wcm.core.impl.designer.SearchPathLimiter Search path limiter configured with searchPathLimiterFeatureToggleOn: true and searchPathThreshold: true.
2024-02-09 13:47:43.064 DEBUG [com.adobe.aem.commons.assetshare.search.providers.impl.QuerySearchProviderImpl] Query Builder Parameters: 2_group.0_path = /content/dam/asset-share-commons/en/public | 2_group.p.or = true | 4_group.mainasset = true | 5_group.property = jcr:content/contentFragment | 5_group.property.operation = not | fulltext = Produktpräsentation Fendt 600 Vario | orderby = @jcr:content/jcr:lastModified | orderby.sort = desc | p.guessTotal = 100 | p.limit = 24 | p.offset = 0 | type = dam:Asset |
09.02.2024 13:47:43.065 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryEngineImpl Parsing xpath statement: /jcr:root/content/dam/asset-share-commons/en/public//element(*, dam:Asset)[(not(jcr:content/@contentFragment)) and (jcr:contains(., 'Produktpräsentation Fendt 600 Vario'))] order by jcr:content/@jcr:lastModified descending
09.02.2024 13:47:43.065 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryEngineImpl XPath > SQL2: select [jcr:path], [jcr:score], * from [dam:Asset] as a where [jcr:content/contentFragment] is null and contains(*, 'Produktpräsentation Fendt 600 Vario') and isdescendantnode(a, '/content/dam/asset-share-commons/en/public') order by [jcr:content/jcr:lastModified] desc /* xpath: /jcr:root/content/dam/asset-share-commons/en/public//element(*, dam:Asset)[(not(jcr:content/@contentFragment)) and (jcr:contains(., 'Produktpräsentation Fendt 600 Vario'))] order by jcr:content/@jcr:lastModified descending */
09.02.2024 13:47:43.066 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost using filter Filter(query=select [jcr:path], [jcr:score], * from [dam:Asset] as a where [jcr:content/contentFragment] is null and contains(*, 'Produktpräsentation Fendt 600 Vario') and isdescendantnode(a, '/content/dam/asset-share-commons/en/public') order by [jcr:content/jcr:lastModified] desc /* xpath: /jcr:root/content/dam/asset-share-commons/en/public//element(*, dam:Asset)[(not(jcr:content/@contentFragment)) and (jcr:contains(., 'Produktpräsentation Fendt 600 Vario'))] order by jcr:content/@jcr:lastModified descending */ fullText="Produktpräsentation" "Fendt" "600" "Vario", path=/content/dam/asset-share-commons/en/public//*, property=[jcr:content/contentFragment=[is null]])
09.02.2024 13:47:43.066 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for reference is Infinity
09.02.2024 13:47:43.066 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for property is Infinity
09.02.2024 13:47:43.066 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for nodeType is Infinity
09.02.2024 13:47:43.067 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for [/oak:index/damAssetLucene-9] of type (lucene-property) with plan [lucene:damAssetLucene-9(/oak:index/damAssetLucene-9) +((((+full:jcr:content/metadata/dc:title:produktpräsentation +full:jcr:content/metadata/dc:title:fendt +full:jcr:content/metadata/dc:title:600 +full:jcr:content/metadata/dc:title:vario)^2.0) ((+full:jcr:content/metadata/dam:search_promote:produktpräsentation +full:jcr:content/metadata/dam:search_promote:fendt +full:jcr:content/metadata/dam:search_promote:600 +full:jcr:content/metadata/dam:search_promote:vario)^100.0) ((+full:jcr:content/jcr:title:produktpräsentation +full:jcr:content/jcr:title:fendt +full:jcr:content/jcr:title:600 +full:jcr:content/jcr:title:vario)^2.0) (+:fulltext:produktpräsentation +:fulltext:fendt +:fulltext:600 +:fulltext:vario)) ((jcr:content/metadata/predictedTags/600 produktpräsentation:1 jcr:content/metadata/predictedTags/vario:1 jcr:content/metadata/predictedTags/fendt produktpräsentation:1 jcr:content/metadata/predictedTags/fendt:1 jcr:content/metadata/predictedTags/600:1 jcr:content/metadata/predictedTags/vario 600:1 jcr:content/metadata/predictedTags/produktpräsentation:1 jcr:content/metadata/predictedTags/vario produktpräsentation:1 jcr:content/metadata/predictedTags/vario fendt:1 jcr:content/metadata/predictedTags/fendt 600:1 jcr:content/metadata/predictedTags/produktpräsentation fendt 600 vario:1)^1.0E-4)) +:ancestors:/content/dam/asset-share-commons/en/public ordering:[{ propertyName : jcr:content/jcr:lastModified, propertyType : UNDEFINED, order : DESCENDING }] ft:("Produktpräsentation" "Fendt" "600" "Vario")] is 28.00
09.02.2024 13:47:43.068 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for [/oak:index/assetPrefixNodename-1] of type (lucene-property) with plan [lucene:assetPrefixNodename-1(/oak:index/assetPrefixNodename-1) +(((+full::nodeName:produktpräsentation +full::nodeName:fendt +full::nodeName:600 +full::nodeName:vario) (+:fulltext:produktpräsentation +:fulltext:fendt +:fulltext:600 +:fulltext:vario)) ((jcr:content/metadata/predictedTags/600 produktpräsentation:1 jcr:content/metadata/predictedTags/vario:1 jcr:content/metadata/predictedTags/fendt produktpräsentation:1 jcr:content/metadata/predictedTags/fendt:1 jcr:content/metadata/predictedTags/600:1 jcr:content/metadata/predictedTags/vario 600:1 jcr:content/metadata/predictedTags/produktpräsentation:1 jcr:content/metadata/predictedTags/vario produktpräsentation:1 jcr:content/metadata/predictedTags/vario fendt:1 jcr:content/metadata/predictedTags/fendt 600:1 jcr:content/metadata/predictedTags/produktpräsentation fendt 600 vario:1)^1.0E-4)) +:ancestors:/content/dam/asset-share-commons/en/public ft:("Produktpräsentation" "Fendt" "600" "Vario")] is 1005400000.00
09.02.2024 13:47:43.069 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for [/oak:index/pathReference] of type (lucene-property) with plan [lucene:pathReference(/oak:index/pathReference) +:fulltext:produktpräsentation +:fulltext:fendt +:fulltext:600 +:fulltext:vario ft:("Produktpräsentation" "Fendt" "600" "Vario")] is 1372200000.00
09.02.2024 13:47:43.069 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for lucene-property is Infinity
09.02.2024 13:47:43.069 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for aggregate lucene is Infinity
09.02.2024 13:47:43.069 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for aggregate solr is Infinity
09.02.2024 13:47:43.069 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for traverse is Infinity
09.02.2024 13:47:43.069 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl query execute select [jcr:path], [jcr:score], * from [dam:Asset] as a where [jcr:content/contentFragment] is null and contains(*, 'Produktpräsentation Fendt 600 Vario') and isdescendantnode(a, '/content/dam/asset-share-commons/en/public') order by [jcr:content/jcr:lastModified] desc /* xpath: /jcr:root/content/dam/asset-share-commons/en/public//element(*, dam:Asset)[(not(jcr:content/@contentFragment)) and (jcr:contains(., 'Produktpräsentation Fendt 600 Vario'))] order by jcr:content/@jcr:lastModified descending */
09.02.2024 13:47:43.070 *DEBUG* [[0:0:0:0:0:0:0:1] [1707504463048] GET /content/asset-share-commons/en/light.results.html HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl query plan [dam:Asset] as [a] /* lucene:damAssetLucene-9(/oak:index/damAssetLucene-9) +((((+full:jcr:content/metadata/dc:title:produktpräsentation +full:jcr:content/metadata/dc:title:fendt +full:jcr:content/metadata/dc:title:600 +full:jcr:content/metadata/dc:title:vario)^2.0) ((+full:jcr:content/metadata/dam:search_promote:produktpräsentation +full:jcr:content/metadata/dam:search_promote:fendt +full:jcr:content/metadata/dam:search_promote:600 +full:jcr:content/metadata/dam:search_promote:vario)^100.0) ((+full:jcr:content/jcr:title:produktpräsentation +full:jcr:content/jcr:title:fendt +full:jcr:content/jcr:title:600 +full:jcr:content/jcr:title:vario)^2.0) (+:fulltext:produktpräsentation +:fulltext:fendt +:fulltext:600 +:fulltext:vario)) ((jcr:content/metadata/predictedTags/600 produktpräsentation:1 jcr:content/metadata/predictedTags/vario:1 jcr:content/metadata/predictedTags/fendt produktpräsentation:1 jcr:content/metadata/predictedTags/fendt:1 jcr:content/metadata/predictedTags/600:1 jcr:content/metadata/predictedTags/vario 600:1 jcr:content/metadata/predictedTags/produktpräsentation:1 jcr:content/metadata/predictedTags/vario produktpräsentation:1 jcr:content/metadata/predictedTags/vario fendt:1 jcr:content/metadata/predictedTags/fendt 600:1 jcr:content/metadata/predictedTags/produktpräsentation fendt 600 vario:1)^1.0E-4)) +:ancestors:/content/dam/asset-share-commons/en/public ordering:[{ propertyName : jcr:content/jcr:lastModified, propertyType : UNDEFINED, order : DESCENDING }] ft:("Produktpräsentation" "Fendt" "600" "Vario") where ([a].[jcr:content/contentFragment] is null) and (contains([a].[*], 'Produktpräsentation Fendt 600 Vario')) and (isdescendantnode([a], [/content/dam/asset-share-commons/en/public])) */
2024-02-09 13:47:43.073 DEBUG [com.adobe.aem.commons.assetshare.search.providers.impl.QuerySearchProviderImpl] Executed query statement:_/jcr:root/content/dam/asset-share-commons/en/public//element(*, dam:Asset)[(not(jcr:content/@contentFragment)) and (jcr:contains(., 'Produktpräsentation Fendt 600 Vario'))] order by jcr:content/@jcr:lastModified descending

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs more info Needs more information from the issue creator
Projects
None yet
Development

No branches or pull requests

2 participants