 is a truth universally acknowledged that in a live demo anything that can go wrong will go wrong. Hello and welcome to the session. My name is Thomas Seidel and in the next 45 minutes I'll show you how to create amazing searches with the search API on your site. The session will be a live demo. And while that of course spells disaster for nearly this room and the wearing of protective gear is strongly recommended, it does have the distinct upside that if I actually manage to set up a working search under these circumstances and it's almost guaranteed that nothing at all can possibly go wrong when you do the same at home. Sounds good, then let's start. But before I actually start with the demo, I'll give you a quick overview about the search API. The search API is a module developed by me since 2010. At that time there was some discussion about core search in Triple 8, how it could be improved from the strictly product that it was in Triple 7, how it could be a flexible framework for creating diverse searches based on it with country modules. Actually little of this was eventually implemented in Triple 8, but I took most of these ideas and functionality and incorporated them into this search API module. With the search API module, you're not restricted to searching nodes with the database. You can use a different, a various set of back ends. You can use almost any kind of data on your site and you have great control over how this data will be indexed and displayed to the users. So how does this work? The basic structure as far as site rules are concerned, there are two sets of entities that you have to use for creating searches with search API. The first are search indexes. These whole generic information about the kind of data that you want to index, what about them do you want to index, and what way do you want to pre-process them. For example, so you want to index a set of all nodes from the site, which fields do you want to index and so on. And search servers implement the technical details. They represent how this search actually works, how this implemented, what is used to index the data and later retrieve it during searches. So this can use the database, can use a patchy solar, which is an open source search engine, in case you didn't know. And some other back ends that are also available, other search engines like Sphinx or Asapium. And yeah, this is technical implementation and index then uses a single server to do its real operations. And all other modules just build on a generic information in the index and that does independent of the server. So the server can also later be switched out if you want to. And servers indexes use the same server. So on a typical site you will only have a single search server that uses a database or solar or whatever you have available. And all indexes for whatever type of information you want to index, then use this server. So now that this is all has been dealt with, just a few safety precautions. And with that, let's get dangerous. So the journey starts as always by just enabling our modules. The entity API module is, I want you. I couldn't have planned this better, really. The first thing I do, okay, yeah, it almost, of course, takes some time to enable the modules. The entity API module which I enabled is a dependency of the search API. So you always have to enable that. And database search and solar search are the two modules that offer the search back against their respective ones. So if you want to search using the database, you have to enable the database search module. And for solar, the other one. These are separate modules that you'll have to download separately from the search API. So now that we have these modules installed, we first add a server. As the name, we can choose anything we want. And the service class is what is then used for searching. So database is very basic to set up. You just have a single option. So I won't show you that. Instead, I'll quickly show you how you can set up a solar server on your own site. So this is the contact information for the server. You have to change that for using other types of servers. But for the one, I'm about to show you how to set up the default settings are already the right ones. So here I have downloaded the latest version of Apache solar. Just extracted archive now. And then I have to go into the search API solar module. Use the right configuration. So this is solar 4. So we have to use the 4.x configuration files. And then we just copy them over into solar. This is the example application that is provided with solar. And here we have to find the configuration directory and copy this data over. I don't copy this one because the default settings are already very good for that one. Now we only have to go into that directory and execute this command on the command line. Of course, Java needs to be installed for that. And with only that, we have a working solar server for our triple site. And of course, if you have solar available, if you have the possibility to use it, it's always a good idea because it has better performance and returns better results, has more functionality than using a database server. And now if you refresh the page, we see that the server could be reached. And the search server, at least, is now working. Just a quick note about that. The way I've set it up right now is very insecure on the production site or anywhere reachable from the Internet. Because this wouldn't be at all protected against all set access. If someone would just append the right port to your domain, they could then manipulate the solar data in any way they want, delete data, or add advertisements or anything. So you really have to protect against that. To do that, you can either add some hash to the path. So for the solar directory here, you can just rename that to anything else, solar with 30 random characters appended to it. And then people would have, of course, a hard time guessing what that was. So that would be a protection. You could just block out the access with a firewall. Which is, of course, only possible if the solar server is only accessed locally. So if the web server is running on the same machine. And you can also use HTTP authentication. You can look up how that is done. Yeah. Why Google, of course. So we now have a working server. So now we also need an index. We could also use the default node index, which already has a well-working configuration for nodes. But I'd rather show you how to create your own one. For that, we here have to select the item type. And in this example, we just use nodes. And here we select the server we just created. And we enable this option. But I'll also do a quick side note. This option when enabled leads to nodes that are being saved, either inserted or newly created or edited to be indexed immediately on the search server. So otherwise, you might have stale data on the server, on the search server, which would then lead to false search results. Or if you use the index data to do some excess checks, so to filter for only published nodes, then this would even lead to security concerns if you don't index items immediately. Also, users might wonder that when they create a node, why doesn't it show in lists right away? So if outside users can create nodes on your site, it's also equal to tier just because they use experience. And on the contrast side, there's, of course, that when a node is saved, the user would then have to wait for the node to be indexed to be forwarded to the next site, to the next page. So this is, especially if you have some more complex operations during indexing, consideration also for user experience. And also there are performance issues if you push one document at a time, especially to solar, instead of pushing a whole bunch, if you index a whole bunch at a time, then that's more performant for solar at least. But all of that doesn't really matter for the contrast, don't really matter for smaller sites. So for that, we'll just use, we just enable the option. Then click on create index. Now that we have these basic settings of the way, we can choose which fields we want to index on the server for this index. Here we have all the nodes fields available. And also this option to add the fields related somehow to the node. So we can, for example, use the author. Click add fields here. And then we also have the author's fields available for indexing. So they can be accessed and filtered against right with the nodes in the search. And what we also have to add here, because it's only related field is the main body text. Because this is a complex field, it has to be done this way. And you'll have to add it here to be able to search later. So now that we've added these fields, we can enable which fields will actually be indexed on the index. So content types, of course, always a good idea for filtering. And the title we want to search, of course, too. The difference between filtering and full text here, full text here is that string fields will be indexed as a single name. So you can only tell if it is article or page or something else. But you can search words inside this value. And if you want to search for individual words in the field, for example, title, of course, has any words inside it, then we have to use full text for that. And the boost tells us how important this field is. So since the title is, of course, more important than other fields, we set it here to, for example, eight or some higher value. So results with search keywords in the title will be shown higher up. And then just some other fields, the creation date for sorting, for example, some taxonomy terms related to the set on the node, the author's roles, maybe also for filtering, and, of course, as said before, the body text itself. Now, with the field configured, there's only a final step we have to take for the index, which is customizing the workflow. As said, you have many options for that here. There's the bundle filter, which lets you select what bundles you want to index. So you can only index some content types on the index. And there's the node access and exclusive unpublished nodes, data alterations, about which I also want to talk shortly. The thing is that access control, since it's very specific for the distinct entity types and other types of data in triple seven, it's not possible to implement that in a generic way. So if you create a search with the search API, usually you won't have access control built in, and you have to take care of that yourself. The only exception here are nodes, for which there exist these two options, the node access data alteration, which automatically enforces any node access rules that you have on your site. So users will only see the nodes they are supposed to see, or the exclude unpublished nodes option, which will just not index any unpublished nodes, and thus they also won't show in searches. So if you don't have any more complex access controls set up, and you don't want to show unpublished nodes in any cases, for example, for administrators, then you can just use that. And in both cases, it is important to enable the index items immediately setting from before, because otherwise you'll run into exactly the problems I mentioned. When you unpublish a node, the node will still show in searches until it is being re-indexed. So now we just enable this option, and the index hierarchy is also an interesting data alteration, because it will show hierarchical data, like taxonomy terms. Here we have the category field with its parent terms. So for example, if you filter for Europe, and you have a taxonomy with location data, you filter for Europe, it will also show results that are Czech Republic or Prague, or something else. And for the processors, since we are using a solar server, we should disable or let disabled most of them, because solar already takes care of most of these operations. The only exception here is the HTML filter, because solar doesn't know which fields we are indexing our HTML, we have to do it on the triple side aside. So for example, the title doesn't contain any HTML, but the main body text does, so we let it enable for this. And with that, we already have finished setting up the index. This will of course have been much faster by just using the default node index. Now we just have to index the items, and we can already, we have already set up the index and the server. So now I just, I actually wanted to show as a comparison how it works in triple eight, or how it at least looks in triple eight, but this wasn't done in time, so I just have to summarize it, but the changes are, will probably be rather minor, and practically everything you see here will be applicable to triple eight, to the triple eight version of the module as well. There is just the bundle filter I showed earlier will very probably be an index option, so directly when you select nodes for indexing, you can also select the content types you want to index, and this will then be better integrated into the, into all other components of the search API. And also the distinction between data alterations and processors, as seen on the last, on the last but one page, will vanish, and everything will be just processors, because the difference doesn't really matter to end users. And there will be of course some UI improvements, some of them just coming from core and being implemented here. Now with the server and the index set up, we are still not showing anything to end users, and we have to use some way to actually display a search to the users. So we have two basic options for that, the first one being search pages, which is a bit like the core search, you just get a page with a search, with a keywords text field, and then people can search and display results, you have a few options, but it's all very simple and basic, it's good for setting up, yeah, with quickly setting up simple searches, but you don't have much flexibility. For that you would need to use the search fuse module, I think probably most or all of you already know the fuse module, which is of course a very powerful way to display information, and with the search fuse module that is included with the search API, you can just use that power to display search data. So you can then use filters, you can use any display you want, you can use sorts of contextual filters and so on, so this is of course the far more powerful and flexible method to do this. So with that explained, let's do this, we first of course have to enable the modules, we enable both for now, both search pages and search fuse, as said the later one is included with the search API when you download it, the other one you have to download separately if you want to use that. And if you want to use search pages, there is just a separate tab on the search back configuration page, and here you can just add search pages and the configuration is pretty simple, so instead I'll show you how to set up a search view, you go to the normal views admin user interface, add a new view, of course the title doesn't matter, and here you have as the data type you want to display you have to select test index, the name you chose earlier, if you use search index which is a common mistake, then you just get a list of all the search index you have defined which is of course not what you want in this case. Then we want to just display the entity as it is with a view mode instead of setting up the fields, and now you have the usual views user interface for defining your view. So the first thing we do is switch to teasers, because displaying full nodes as the search result will of course not be adequate, and now we already have a list of all nodes on the side, what we now want to do of course is add a keywords box for searching through these nodes, for that we use the search full text search filter, which lets you use any full text fields for searching through these items, we expose the filter to display to end users, and the other options can just stay as they are, especially if you don't know what this does, then leave it at search keys, because otherwise you will get some unexpected behavior, and the search fields we also want to use all of those, and now we just also set a result summary, because that's of course always a good idea, so people will see how many results they have, and now we already have the view configured, and if you visit this page we'll see already the view, all nodes are listed by default, and if you enter some keywords, of course the node content isn't very helpful here, and if you enter some keywords you'll get just the results containing these keywords, and because we earlier set the boost for the title field higher, every item that contains the search word in the title will be at the top, so there we have Lucidus, whatever that is, in the title. So this already is a working search on your site, defined with views, of course you could now add some additional exposed filters to add sorts, contextual filters, what you want, and thus customize it and make it more powerful, but there are some add-on modules which also do a very good job of making your site really much more powerful, and the first and foremost I want to mention here is facets, there is a separate contract module, not really specific to the search API, the facet API which allows users to define facets for your site, if you don't know what facets are, I'll show you in a minute and I'm sure you'll recognize them, and if you know them then you of course know that facets are a very powerful tool to make searches much more user friendly, and with the facet API you have a unified way across Drupal to define facets and configure them, and you have very great flexibility, and the search facets module allows you to use this module along with the search API. This works for any type of search, so no matter whether you use search pages, search views, or some other method, but it only works with a solar database and sapiens things I think, but only some backend, so when you're choosing a backend you have to take care that facets are supported there. So I'll just set this up now, first of course as always we have to enable the modules, the search facets module as I mentioned is already included with the search API when you download it, so you don't have to download it separately, facet API is a separate module and it comes with the current search blocks module which is also a nice feature because you don't have a search block, a current search block that tells users how many results there were, what they searched for, and so on. So now that we have enabled these modules, we get the separate new facets tab on the index, and here we have all the indexed fields available for use as facets. So we can then just enable some of them and save this. We could of course also as I said customize them and there are very many options here, but just set them up in a basic way for now. Then we enable all these blocks, the current search block of course came from the current search blocks module. We add them all here, save the blocks and then we already have added facets to the search and when we now go to the search view we see that we now have these facet blocks telling us how many, how we can further filter our search. So and if we search again for something, okay, the current search block is now down there, but it tells us what we searched for, how many items we found and we can filter by all of these fields and the date and the taxonomy term fields are actually hierarchical, so when you select May 2013 you get the individual dates filtering, if you select Jack Republic you get further regions and cities, you can filter for the author roles as if there were a field of the nodes because we added them earlier and yeah, this is a very powerful way for users to be able to drill down their searches because they immediately see what their source is and I'm sure you know this from sites like Amazon or YouTube or others, which let users filter their searches in quite the same way. So with that set up we already have a nice working search on the site, it's much easier to use the features and flexibility. We can, of course, as said, use more exposed filters, we can first customize these facets but I want to highlight other other modules that you can use for customizing the search. So there is the autocomplete module, which like the name suggests, of course, adds autocompletion to the search boxes, so if you have a search field and start typing then it will automatically suggest what words you could mean and want to type and, of course, you know the functionality also from sites like YouTube and yeah, the downside here is that only some backends are based on solar work both but most other stones so you also have to take care of that. There is the spell check module which also is pretty self-explanatory when you mistype some word, it will automatically suggest what word is likely that you've meant, which appears more often in your content and it also works, it only works with solar because solar has this functionality already built in but it also works with both views or pages and, of course, it's also a nice feature. Saved searches let users when they are in a search save the search and have a later list of their searches and also get notified of new results by mail optionally. So this is, of course, for things like job platforms or sites listing houses or something, when users search for something, they don't want to return and see if there's new stuff, they want to get notifications about any new results that might interest them. And this works with any type of search or backend. There's the location module which is a bit badly named but it doesn't actually integrate with the location module but with the geofield module and if you have geofields defined on your notes, then this will enable you to index them in a meaningful way and then search by proximity. So, for example, you could then search for 20 kilometers around Prague for anything that has a geofield on it, you could sort by proximity to that location by it. But currently only Solar is supported because, again, it has native support for this feature. And lastly, there's the multi-index searches module which because it is normally only possible to create an index with a single entity or item type. So you can either index notes or comments or user profiles or anything but you can search all of them at once and this is fixed by a multi-index searches module which lets you select any number of indexes on your site and search across all of them at once. It integrates with views so you also get the whole power of views for using exposed filters, sorts, contextual filters and so on. The downside is that it doesn't integrate with most of the other modules because it is a separate system so you won't get auto-completion or save searches or facets for multi-index searches at the moment. But still it's of course a nice tool if you want users to be able to search the whole site no matter what type of content is. So with these all explained I still have some time to explain one or two of those so I actually wanted to do a quick quote what would interest you most who wants to see how a search page is set up who wants to see a set of auto-complete OK, spell check OK, save searches OK, it's a close one location search OK maybe three multi-index searches oh thank god database search but that's very boring so yeah, yeah put down your hand, thanks now it's really there isn't much to it you just have to enable all the processors and that's it OK, so auto-complete spell check and location was it right? OK, then let's see for auto-complete let's just enable all these modules at once actually we have 10 minutes so that should be plenty the auto-complete module the location module for location you have two options whether you want to support pages of our views or of course both since we have a search view we want only view support and what was the last one spell check these are all separate modules so you have to download them separately but there are project page links the search page page links to a list of all known related modules so you can then just browse there to see what functionality is available so nearly everything is set up in the index we here can enable auto-complete we have a list of all the searches we have defined on our site so we can enable them one by one in our case we only have a single search view so we enable auto-completion for that we can select some options here but the default should also be fine in most cases we also have to give users actually permission to use auto-completion or anything else nothing will show for them and only administrators can use auto-completion you also can enable and disable auto-completion on a per search base so we enable it for test test view but it could also be enabled for others let's see the other two modules don't have permissions if I remember correctly so nothing to do with them here now we can just see the auto-completion at work now so if I start to type something I will get auto-complete suggestions and I just have to press enter and it will automatically search for that and if I enter one word and then continue typing then it will suggest some other words that often occur with these results but this doesn't take into account what others searched for which is of course something you also want sometimes it would be a different model that doesn't exist yet but this of course is already a nice functionality for the test for the spell check there is now a new area plugin for views so you can have a header with the spell check results you just add that it won't show normally but if you mistype some which of course gets a bit harder with auto-complete enabled you get this node did you mean mech though and then I get the real results and as you have seen it actually also shows in the auto-completion so you can also yeah you also show it there with some one mistypes yes, phonetics I don't actually know how it's implemented it's something solar provides so what I know is it's based on the index so every word that occurs more often in your content will count as a real word and if you type something that is similar to such a real word then that will show as a did you mean the question was how this works so it has just a similar spelling or phonetic search and sound x so yes and now finally for the location search when we have this module enabled we get the new option for indexing for index type first we have to add location at the fields of the location field which is as I said geofield in this case which I have set up earlier on the nodes then we get all these nested fields and we want to use the lat long pair which has the data that solar expects or search API location in general and there is this new in the data type latitude longitude and if we use that then solar will know that we want to use we want to treat this data as geolocation data so with that set up we can actually we can actually also define a facet for this field already so we just now that we have indexed it we can of course also add a facet and this will automatically if you use solar the proximity facet which will react on the location that the user enters so of course it's just some settings that you have to change that you should change for location facet because otherwise the display will be a bit off and then you just added your view and you now have well you would in any case have since you have indexed it now the lat long pair location field available as a filter so once we're using the searchable location module this will has now some special options for location searches so the operator in this case is the distance so if you want to use it to specify the distance in which they want to find the results then we have to expose the operator as the input method there's either raw input randomly or geocoder input if you have geocoder installed which is another contributed module and then you have all the handlers defined by geocoder or other modules available since there are restrictions in terms of views I'll use a custom handler here and here you can specify the options that the user should have when specifying the distance so either you have a select box with some predefined options or a text field where they can just enter some value if you use a text field you can actually also specify a conversion factor so normally it's kilometers because solar uses that internally but you can also just specify 1.6 something and let them use miles and with that set up we just have to save these settings and then we also get a location filter on the search so now we can for example search 10 kilometers around Prague and instead of ok oh why are you here if you know that already yeah of course since I have changed the fields and it was actually displayed there earlier I'll have to re-index for anything for the updates to be in the index otherwise the field won't be there and you'll run into problems and be embarrassed by a large audience in front of you and things will happen so now instead of 100 results we just get 20 which are 10 kilometers around Prague and if we then search for something that isn't there yet the facet of course I also have to enable the block but still all things considered I think it's going really well nothing broke for longer than a few seconds I mean I don't want to jinx it but see you now have the distance available and you can just drill down to a search within only 5 kilometers and then only 2 results remain so that's location search also explained it fits nicely because we're actually at the end of the time thank you very much for listening so the conference wants me to remind you to take the survey about this presentation tell them that it was good if you don't want to tell them that then tell them nothing please and now I'm open for questions so I'll give the microphone to this thing and just make a queue here to ask you questions please hi the hierarchical index thing you can have a hierarchical result with facets that's for taxonomy you said is that also for the relation module or any other relation type module if you know what I mean do you mean with entity relationships you can also use hierarchical yeah this is independent so anytime you have some type of content that references the same type of content you can add that here you actually saw when I configured it that also you have the translated node translated source as an option because the node references the node and each such field is available here so you can always index the entire the entire tree thanks you're welcome is it possible to boost the ranking by some static fields that you put into the nodes for example if you use radioactivity module you have a static field of integer value and is it possible to use this static integer to boost the actual results of your search no, not all of the bugs you can easily do that with some custom code or you can write a module for that it might be useful generally but I don't think it's available now and it's certainly not available in the user interface does it work well if you have a lot of entity references so when you're building views what what problem do you see there that could exist can you search on fields of the entity referenced is it possible to make custom filters for the index on the views the view filters using search api what custom filters you can filter by any fields that you have indexed but it's only text box so if you want to have Dropbox for search filtering giving options is that customization possible no, not through the user interface depends on the kind of field if you for example use an exposed filter for the content type you will automatically get a drop down select box for this filter but for if you want to update there's a text field and you'd have to do some custom coding to change that like for ranges like price range or something or those kind of yeah I think this is a text field by default so you'd have to implement that yourself but it's possible to do that in code it's possible to do that for this search functionality with views and the best way to do it there is actually a Fuzzy search module for the search api which implements a Fuzzy search in a database I haven't personally used it so I don't really know how well it works but it is there and then of course also will work with views so you can use for Fuzzy searches the question is whether you can or oh yeah yeah you can there are solar settings that you can change where you can have Fuzzy searches also by default so you can just configure that in the solar configuration files okay and it's implemented with the views module that was my question yeah I mean actually I didn't found when I had to do in a project and it was my question you can you cannot directly set the Fuzzy search in the views you have to set it in the search back and somehow so there are no options for that in the views okay thank you you're welcome hello my question is do you have your own field types like adding my tokenizers and so on so creating a new field type and use it in the search API yeah yeah everything nearly everything you saw can be changed or appended to you can have your own process data alterations or field types add all these and code yourself okay thank you if you wanted to include an external data source in your results would you need to push that data into the same index and map the schema or is that something the multi-index module would you'd be able to configure with? for searching external sources you'd have to either implement it yourself or if the source is in solar so if you have already external data index in solar then you can search them with Sarnia module which is an extension module for search API solar not a program per me but that just takes data out of solar and makes it searchable with the search API and for other data sources you can implement that yourself for your custom data and it's possible and well supported with the faceted search does it spit out a sensible URL that people can use afterwards and is there any way you can configure what that would be? well the URL by default is just adding get parameters with f equals something which is of course not very user friendly but there is the facet API pretty path so you can use that to configure your module or something like that which fixes that and provides configurable URLs for your facets so then you can have search slash type slash your facet value thank you could you tell a bit more about the notify user with new results? do you mean the other questions of course? the safe searches module of course we first have to enable it then we also get a new tab on the index it now becomes a bit confusing and then we can just enable a safe searches for this index have a ton of options about for example what text we want to use what intervals should be available etc but when we skip all that and just save the settings we get a block for the index which contains a safe searches box and now when we execute the search or even when we don't execute it but just click the default in let's search for something here then we get this safe search box which lets us save the search specify an interval in which we want to be notified of results it is also possible for admins to add a not at all option here so you could also opt out of getting email notifications we want to be notified daily and now when I go to my user profile there's a new tab with safe searches and here I have a list of all the searches and of course this is now not really possible to show but when I now edit now enter and create a new node or edit some node to now fit into the to fit into the search to be returned with the search and then at the afterwards or at most of the afterwards I would get an email with the new results and as said the text that are used there can be configured you can configure yeah very many settings on whether the user should set their own name and so on and yeah you can also look at this to set the permissions for our search searches so yeah if you actually want users to be able to use these use these this functionality then you have to enable have to set the permissions here you can also enable anonymous users and they will if you specify it have to first activate the search wire you have some authentication there so users can just spam your site with search searches so are there any other questions please use the microphone so the question will be recorded my question is when an entity is updated which is the best way to reindex this entity sorry what was the last part to reindex an entity updated yeah that done automatically if you have enabled the index items immediately option I talked about this will be done automatically as the node is saved so it will be indexed right away otherwise if you have this disabled then you can either index all items that need indexing here or it will automatically happen in ground run so you don't have to worry about it it will just take a bit until ground run the next time but then the data will be available in searches hi what do you think about searching like the rendered pages and stuff what is your opinion about that like I thinking is it possible to search like blocks or text which you have which is not a node or an entity or something like that this multi index no currently as far as I am aware is no module to search blocks or the whole page content that would be possible to implement but it doesn't exist yet and there is the complete entity view which at least gives you everything that is displayed for the entity so it will automatically include everything that is included in the node and displayed with it so it will include the title the actual body the authored by-bit the fields and so on so you don't have to take care of enabling all that yourself but of course the downside is that things like the field labels will be indexed to and also that you can't boost the title for example but that is also an option but of course again the blocks aren't indexed or other things on the same page let's just hear this question first Hi, do you know Apache Tica to index Word file or content of an IPDF file? Yeah, there is the search EPI attachment module I also don't know in which state it currently is but it worked quite well you have never tested that sorry? you have never tested that you have never tested Apache Tica for the moment I have tested Tica but not with the search API but there is the search EPI attachment module which does automatically take care of indexing PDF attachments or at least you can enable automatically indexing PDF attachments with their content in the index okay, thank you no problem what was the question please put it into the microphone is there a possibility to index panels pages? no again currently entity types are supported by default and I think some other pieces of data or content are available but for everything else you have to write additional modules or use custom code to support it so of course you could add a module for indexing panel pages but it's not possible currently how would you set up an autocomplete search but more sophisticated one that shows you the the most precise search hits right away without re-rendering the page is something like a search as you type feature? yes there is a search EPI HX module but again there are so many I haven't tested them all so I don't know how well it works but it actually does exactly that it executes the search while you type and always shows you the current results of your search okay thank you are there any under questions? okay you skimmed over in the view search you skimmed over query settings I think could you explain the difference between direct search and there's another option oh yeah of course there are some advanced query settings for search views for one thing you can yeah bypass access checks or make additional access checks but mostly you can select the parse mode which is also available for search pages which tells you how the search keywords will be interpreted so either you can use multiple terms that means each word that you enter will be searched for separately which is what users usually expect single term will use input as a single phrase so if they search multiple for multiple words only results will be found with these words in this order and direct query passes the string from the user as the user entered right away to the server and in case of solar this gives you the complete solar query syntax available which allows for range queries which allows for some fuzzy searches as said which allows for many more features for R or not operators and so on but of course you for one you have to explain that to the user that it is available and also you have to ensure that this doesn't mean that the user can execute two powerful searches or maybe ones that have too much resources but this option lets you use solar directly or for the database well for database doesn't really make sense but for other backends you also can just pass the query right to them and make the underlying back end available to users there ok then we already have all drawn so thank you very much for attending