Full text search on docker container


#1

Hi,

I am trying to use the search feature, unfortunately i am not getting any results back even though i know the search terms are in the blog posts

I am running squidex in a docker container with Mongo running on another server. I have read that the full text search concats all text into a single field, i cant seem to find that in the database.

{
  queryPostsContents(top: 20, skip: 0, search: "relevant boxes") {
    id
    data {
      text {
        iv
      }
    }
  }
}

returns no results

and

{
  queryPostsContents(top: 20, skip: 0, search: "35k") {
    id
    data {
      text {
        iv
      }
    }
  }
}

throws

"message": "Error trying to resolve queryPostsContents.",

any ideas why this would be the case?

Thanks
Joe


#2

Which version do you use?


#3

image: “squidex/squidex:latest”


#4

This is the 2.0 with the new full text search. The full texts are not stored in MongoDB but indexed separately with lucene.net.

You can do several things:

  1. Check the logs for errors please.
  2. Check if there are assets named like Index_XXX
  3. Go to Administration section in the UI, then EventConsumer and check the state of the TextIndexing process there.

#5

Thanks for the speedy reply

There are no assets in the Assets section other than the one image that i had put there

On the Administration/Consumers section i only have

  • AssetUseageTracker
  • HistoryService
  • RuleEnqueuer

there does not appear to be a TextIndexing process in there

Thanks
Joe.


#6

Okay, this could be the problem. I would either move to the dev version or the latest stable (< 2.0)


#7

Thanks for the support, i will switch the version to 2.0

Thanks again.


#8

full text seems to be good now, but searching a number still throws the same error


#9

Can you test it in the UI, the errors seems to get swallowed through graphql.


#10

the error message that i get from the ClientLibrary is:

i can post the full stack trace, but this seems the most relevant bit

{“messages”:[“An error occur.Try it again.”],“developerMessage”:{“message”:“Squidex Request failed: {“message”:“Query $search clause not valid.”,“details”:[“Syntax error: character ‘3’ is not valid at position 0 in ‘33k’.”],“statusCode”:400}”,“data”:{},“innerException”:null,“targetSite”:{“name”:“MoveNext”,“declaringType”:“Squidex.ClientLibrary.SquidexClientBase+d__7, Squidex.ClientLibrary, Version=2.8.0.0, Culture=neutral, PublicKeyToken=null”,“reflectedType”:“Squidex.ClientLibrary.SquidexClientBase+d__7, Squidex.ClientLibrary, Version=2.8.0.0, Culture=neutral, PublicKeyToken=null”,“memberType”:8,“metadataToken”:100665086,“module”:{“mdStreamVersion”:131072,“fullyQualifiedName”:"/root/.nuget/packages/squidex.clientlibrary/2.8.0/lib/netstandard2.0/Squidex.ClientLibrary.dll",“moduleVersionId”:“aac8c152-53a6-462f-9e1f-25bd6eb35e8a”,“metadataToken”:1,“scopeName”:“Squidex.ClientLibrary.dll”,“name”:“Squidex.ClientLibrary.dll”,“assembly”:

Cheers
Joe.


#11

it is a odata restriction, I would add the full text into brackets " … Something the client library should do by default.


#12

That worked a treat thanks,

We are loving it so far, considering we are using the open source docker container and not subscription based is there anywhere we can contribute, i couldn’t find a donation page on the site?

Thanks


#13

Good question, I will think about it.


#14

I have added it to the sample library.