MVA and fulltext - is it possible?


#1

is tha way how to fulltext search in JSON MVA? I have indexed tag/keywords and i want in result only exact results.
example:
cast - list of all actors, but as text - sql_attr_string
tag - is cast, but in JSON sql_attr_json with data like: ["Keanu Reeves", "Laurence Fishburne", "Carrie-Anne Moss", "Hugo Weaving", "Gloria Foster", "Joe Pantoliano"]

  • when user is entered “Joe Reeves” and expression is: WHERE match(@cast Joe Reeves) - result is false positive, because there is no actor with name "Joe Reeves"

  • when user is entered “Reeves Keanu” expression is: WHERE tag='Reeves Keanu' and match('@cast Reeves Keanu') - nothing is found, because name and surename is in wrong order

what is best way to search only Keanu Reeves in cast?


#2

You can use the SENTENCE operator. You need to enable sentence detection first with index_sp=1 (and reindex).

Put the cast in a fulltext field with the names as sentences, like

Keanu Reeves. Laurence Fishburne. Carrie-Anne Moss. Hugo Weaving. Gloria Foster. Joe Pantoliano

To search do

WHERE MATCH(’@castfts Keeves SENTENCE Keanu’)

Fulltext search operates only on fulltext fields. On sql_attr_string (or strings inside a JSON) you can only do string equality comparison.


#3

Thx, it is working, but all names must start with Upper char. (https://docs.manticoresearch.com/latest/html/conf_options_reference/index_configuration_options.html#index-sp)