Mastodon 4.2.0 brings a number of new options for searching. You can add special operators to filter what you search for:
has:media or poll or embed language:fr or any two letter ISO language code is:reply or sensitive from:user or me (me is for your own posts) in:all or library (library means posts you've interacted with) before:date during:date after:date
Make sure there's no space after the colon :
For example, to only show results with polls include the phrase has:poll in your search.
I can't find anything in the admin's graphical interface that would prohibit full text search.
However, people are by default not included in full text search. Each member has to personally opt in for their posts to be searchable through full text. If they don't opt in, their posts will only be searchable by hashtags that they include.
@feditips Could you describe if these features depend on instance settings? Could an instance prohibit the new global search serverside or will it just work for everyone everywhere?
Yeah, that would be up to whoever is installing and setting up the instance. Those options aren't accessible through the graphical interface.
For servers on managed hosting, it would be the hosting company that directly handles the availability of elasticsearch etc, but they would do so at the request of their customers (the owners of the servers they host).
@truhe@feditips Instances might not have elasticsearch installed (that's the search backend), because it needs lots of resources. So, "prohibited" no, but "not available" is a possibility.
Whether you can search depends on whether the server you're on has the feature installed, and whether the profile you're searching (no matter which server it is on) has opted in.
@truhe@feditips They can choose to not deploy the full text search on their instance* so their users can't search, but users could still opt in to be included in the search index on other instances.
*) ElastiSearch/Opensearch is quite a resource hog, so maybe not every instance admin will be able to set it up
@dentaku@feditips Interesting. So my admins might prohibit me from searching other content, but not others from searching my content. Let's see what they decide.
But as usual, my posts can only be found on others instances if my post somehow arrived at this instance? (which would still mean: No global search [Yes, I know of the problems of a global search, but the lack of is still one of the major issues regarding the visibility of content at a global scale])
@feditips@truhe And another bit I forgot: If your server has the full-test search feature installed, you can always search your own posts, even if you have opted out.
And only public posts will be indexed, so if you want to hide an individual post from the search feature but still publicly viewable, just set it to "Unlisted".
I've been trying different formats but there doesn't seem to be any obvious pattern. I suspect the server I'm on hasn't built its search database fully yet.
@feditips Where are we up to in general with search? I just tried searching for a random word "space" and got 10 results from the last hour, and that's all.
It depends on people opting into the full text search. As the feature was only released a couple of days ago, it's going to take some time for everyone who wants to take part to opt in.
If someone isn't opted in, you will only find their posts by hashtag.
@feditips I've upgraded publicgood.social to v4.2.0 (confirmed on the status line) and everything seems to work... BUT... Search Conditionals are not available.
In the "Search" field, I see in the drop-down under SEARCH OPTIONS I see the text "Not available on publicgood.social".
p.s. If you need to find the language code for the language: operator, try selecting the language you want from the language picker in the post writing box. It will show the correct language code for the operator.
For example if you want to find the code for Esperanto, choose Esperanto from the language picker and you'll see the code is eo. You can then use this code to filter searches with the term language:eo