Recently, a field-based query function is provided for each table in our system. The foreground sends json data to the backend, And the backend performs Fuzzy Matching by %, query by field. the result is rejected. another colleague used Hibernate Search for fuzzy match. two problems are hard to solve:
1. It is found that the index of CE is not synchronized with the database. through spring integration, event-based synchronization is configured in the configuration file, but the test still finds occasional non-synchronization. I don't know whether it is configuration or Hibernate Search. hope you have had a discussion about Hibernate Search ..
2. The fields displayed on the page are usually strings that users can understand, and literal values that users can easily understand, while the database usually stores integer or other values. for example, if the user status is displayed online, the database may store 1. perform an index on 1 when using the CE index. The search result is user input, and the search result is "online. I don't know how to set the string STATE OF A get and set Method in bean, and whether the index method is feasible is not tested yet.
In general, Hibernate Search is suitable for text Search on bbs or blog websites. It is not suitable for scenarios with high consistency requirements for enterprise applications and e-commerce. personal point of view, welcome to shoot bricks.
Hibernate Search details: click here
Hibernate Search: click here