Dear forum members,
Dynamo team is thrilled to share with you our latest updates in Dynamo Core, featuring new in-canvas search capability built on top of the robust Lucene.Net framework. Search is a daily driver in Dynamo workflows, there are many problems reported with the existing search. A lot of them are captured by you in the other thread by our PM Sol at [Request for Feedback] Searching in Dynamo. In the past, we also see power users trying to fix it in their own ways. It has been too long but we finally started the revamp of search. This is only the beginning to transform the way you search and retrieve information within our product. Allow me to dive into the technical details of what this means.
Our development team has diligently integrated Lucene.Net to provide a robust and scalable search solution that meets the growing demand for performant and accurate information retrieval. Here are some key technical highlights of our new in-canvas search feature:
- High-Performance Indexing and Searching: Lucene.Net leverages an inverted index structure that allows for lightning-fast indexing and searching. By tokenizing and normalizing text, Lucene.Net creates an index that enables efficient retrieval of matching documents. Our search feature harnesses this power, delivering near-instantaneous search results, even when dealing with vast amounts of data.
- Relevance-Driven Search: Lucene.Net employs advanced scoring algorithms to determine the relevance of documents to a given query. By analyzing factors such as term frequency, inverse document frequency, and document length normalization, Lucene.Net ranks search results based on their relevance. This ensures that users receive accurate and meaningful search results, minimizing irrelevant matches.
- Multilingual Support: Lucene.Net supports a wide range of languages, making our search feature language-agnostic. It handles diverse content and linguistic nuances seamlessly, ensuring accurate search results across various languages. This enables users worldwide to benefit from our search functionality, regardless of their preferred language.
What is included in the current beta
-
OOTB nodes indexing (integration nodes and package nodes support on the way)
Dynamo loads all the node libraries and indexes all the nodes as part of initialization when you see the following message from Dynamo Splash Screen. It is also one of the reasons why Dynamo launch would take some time to finish until you can see the Dynamo startup page.
Now that we switched to using Lucene.Net, Dynamo indexes nodes’ information to local files instead of in memory for now. After launching the latest 2.19 sandbox, you are expected to see these index files in AppData folder.
-
In-Canvas search was switched to Lucene.Net searcher. Here are some examples of search cases that works better. We have not fully tested all cases yet but would welcome you to report anything you feel is not intuitive.
a. Search terms with space in them, e.g. list map, curve trim
b. Search terms with a dot in between, e.g. list.map
c. General search results accuracy, e.g. unit
d. Search terms with typos, e.g. comprwss
What’s coming
Starting with in-canvas search, we are gathering feedback, and optimizing how indexing and search until we ensure you are pleased with the performance and accuracy. Meanwhile, we will replace the search component for library search, package search, and other search related features.
We are eager to receive your feedback and suggestions as we continually improve and optimize our search feature. Your insights are invaluable in our quest to enhance performance and usability. To explore the full potential of Dynamo and try the new search out, ensure that you are using our latest 2.19 Dynamo sandbox from 05-26 onwards at https://dynamobuilds.com/.
Thank you for your continued support and engagement within our community. We are committed to delivering innovative solutions, and the integration of Lucene.Net into our search feature is just the beginning of a series of exciting updates and features to come.
Cheers,
Aaron-